Emacs: функция, которая записывает код elisp, который добавляет привязку клавиш, указанную пользователем - PullRequest
3 голосов
/ 10 сентября 2009

Как я могу сделать интерактивную функцию, которая интерактивно читает ключ от пользователя (например, когда вы нажимаете C-h k), а затем записывает какую-то строку вроде этого:

(global-set-key (kbd "C-x C-s") 'hello)

, где часть "C-x C-s" заменена соответствующим образом ключом чтения.

У некоторых начинающих пользователей возникают проблемы с сочетанием клавиш , и на самом деле я тоже запутался в этом, поэтому я подумал, что давайте просто автоматизировать это.

Ответы [ 2 ]

5 голосов
/ 10 сентября 2009

Это похоже на работу:

(defun insert-key (key)
  (interactive (list (read-key-sequence "Key: ")))
  (insert "(global-set-key (kbd \"" (key-description key) "\") 'hello)\n"))
0 голосов
/ 05 сентября 2011

А? Может быть, я неправильно понимаю вопрос, но если нет, то это ответ: global-set-key - это команда . И он выполняет только то, что запрашивается (IIUC): он читает последовательность клавиш (тип, щелчок и т. Д.), А затем читает команду для привязки последовательности клавиш.

...