Какие команды в Emacs я могу использовать для вставки в текстовый буфер файла текущей даты и время?
(Например, эквивалент в Блокноте просто нажатие F5, который является о единственной полезной функции Блокнота!)
M-1 M-! date
это приводит к тому, что запущенная вами команда оболочки будет вставлена в буфер, который вы сейчас редактируете, а не в новый буфер.
Спасибо, CMS! Мой вариант, чего бы он ни стоил, меня достаточно радует:
(defvar bjk-timestamp-format "%Y-%m-%d %H:%M"
"Format of date to insert with `bjk-timestamp' function
%Y-%m-%d %H:%M will produce something of the form YYYY-MM-DD HH:MM
Do C-h f on `format-time-string' for more info")
(defun bjk-timestamp ()
"Insert a timestamp at the current point.
Note no attempt to go to beginning of line and no added carriage return.
Uses `bjk-timestamp-format' for formatting the date/time."
(interactive)
(insert (format-time-string bjk-timestamp-format (current-time)))
)
Я помещаю это в файл, который вызывается моим .emacs, используя:
(load "c:/bjk/elisp/bjk-timestamp.el")
, что упрощает изменение без риска поломки чего-то еще в моем .emacs. emacs, и позволил мне легко начать, возможно, когда-нибудь действительно узнать, что такое программирование на Emacs Lisp.
P.S. Критика моей техники n00b приветствуется.