2013-07-31 3 views
1

Я хочу изменить команды для настройки закладок, их перечисления и поиска в emacs. Это в Emacs Lisp код, который я пробовал:Изменение привязок клавиш в emacs

(global-set-key (kbd "C-c C-z") (kbd "C-x r m")) 

Это неисправного. Каков правильный метод?

ответ

4

Если вы хотите, чтобы определить ключ, чтобы делать то, что некоторые другие ключ делает, что вы хотите сделать

(global-set-key (kbd "C-c C-z") (global-key-binding (kbd "C-x r m"))) 

Если затем вы можете переназначить Cx гт к чему-то еще и C-c C-z по-прежнему будет привязан к bookmark-set (это похоже на копирование файлов).

Если, с другой стороны, вы хотите сделать Cc Czпсевдоним для Cx п.м., вам нужно использовать function-key-map:

(define-key function-key-map (kbd "C-c C-z") (kbd "C-x r m")) 

в этом случае Cc Cz будет делать то, что Cx rm делает, даже если вы перепроверьте последнее (это похоже на символические ссылки на файлы).

2

Второй аргумент global-set-key должен быть символом функции, которую вы хотите запустить. В вашем случае, команда C-x r m обычно соответствует bookmark-set (я определил это, запустив C-x k C-x r m), так что вы должны пройти 'bookmark-set:

(global-set-key (kbd "C-c C-z") 'bookmark-set) 
1

Вы должны использовать обширную систему помощи Emacs':

  1. использовать f1 е с курсором на global-set-key, чтобы получить информацию о том, как ее следует называть.
  2. использование f1 к, чтобы выяснить, какую команду любой ярлык или пункт меню вызывает
  3. смотрите информационную страницу f1 я, если вам нужно больше информации. Используйте g (info), чтобы узнать, как использовать информацию.
+0

Я бы сказал, использую 'h', чтобы узнать, как использовать информацию. – phils

+0

@phils спасибо, я не знал этого. –

Смежные вопросы