Поиск нераспределенного ключа с помощью emacs - PullRequest
2 голосов
/ 08 сентября 2010

Я придумал функцию elisp и попытался сопоставить ключ с файлом.

(defun loadtopics ()
  "Load the topics.org file"
  (interactive)
  (load "../topics.org"))
(global-set-key (kbd "C-c C-a") 'loadtopics)

Проблема в том, что трудно найти нераспределенную комбинацию клавиш.

  • Есть ли простой способ найти комбинации клавиш, которые не назначены?
  • Какой метод вы используете для назначения ключа для кода elisp, который вы сделали?
  • Можно ли назначить несколько ключей управления, например, «Cc Ca Cb Cx» или аналогичный?

Ответы [ 3 ]

8 голосов
/ 08 сентября 2010

Последовательности, начинающиеся с буквы C-c и F5 до F9 , зарезервированы для пользователей для повторной привязки. Никакие встроенные режимы или сторонние пакеты не должны переопределять их, поэтому они идеально подходят для привязки глобальных ключей для конкретного пользователя. См. Условные обозначения ключей в руководстве по emacs.

2 голосов
/ 08 сентября 2010

Я давно хотел попробовать эту библиотеку elisp .

Из комментариев кода:

Единственная точка входа - describe-unbound-keys'; it prompts for the maximum ;; complexity to allow, which should probably be at least 5 to find enough ;; keys to be worthwhile. Lisp may call just unbound-keys ', чтобы получить список ;;ключевые представления, подходящие для `define-key '.

2 голосов
/ 08 сентября 2010

Если у вас есть дополнительная клавиша-модификатор, например опция на Mac или клавиша Windows на ПК, вы можете сопоставить ее с модификатором «super» или «hyper» в Emacs и использовать ее без страха столкновения с какими-либо встроенными последовательностями. Например, некоторые из моих сопоставлений клавиш, которые используют super, включают:

(global-set-key [(super s)] 'shell)
(global-set-key [(super \\)] 'find-file-at-point)
(global-set-key [(super meta p)] 'emms-pause)
(global-set-key [(super ?!)] 'shell-command-with-?-expansion)

Эта последняя написанная мной команда работает как shell-command, за исключением того, что она расширяет вопросительные знаки в тексте команды в полный путь к текущему буферу, как dired-do-shell-command делает.

...