Также имейте в виду, что Cu в качестве префикса по умолчанию принимает значение '(4) в качестве аргумента, и каждый Cu, который вы вставляете перед командой, умножает это на 4.
Таким образом, вы можете написатьбыстрый способ иметь несколько простых вариантов выбора, используя префиксы ctrl-u, например:
(defun insert-date (prefix)
"Insert the current date. With prefix-argument, use ISO format. With
two prefix arguments, write out the day and month name."
(interactive "P")
(let ((format (cond
((not prefix) "%A, %d %B %Y %H:%M %Z" )
((equal prefix '(4)) "%d/%m/%Y %H:%M")
((equal prefix '(16)) "%d/%m/%Y")
((equal prefix '(64)) "%H:%M:%S")
))
(system-time-locale "en_GB"))
(insert (format-time-string format))))
(global-set-key (kbd "C-c d") 'insert-date)
(Приведенный выше elisp создает функцию, которая вставляет длинную дату формата в ключ (вв данном случае Cc d), дата + время в коротком формате на Cu Cc d, короткая дата формата на Cu Cu Cc d и короткое время формата на Cu Cu Cu Cc d)
Вы можете использовать этотрюк, чтобы сделать замену 'start-slime', которая по умолчанию использовала clojure, но sbcl, если вы нажимаете Cu перед привязкой ключа.