Команды для привязки клавиш
В этом разделе описаны некоторые удобные интерактивные интерфейсы для изменения привязок клавиш. Они работают, вызывая define-key.
Люди часто используют global-set-key в своих файлах инициализации (см. Файл инициализации) для простой настройки. Например,
(global-set-key (kbd "C-x C-\\") 'next-line)
или
(global-set-key [?\C-x ?\C-\\] 'next-line)
или
(global-set-key [(control ?x) (control ?\\)] 'next-line)
переопределяет C-x C-\ для перехода к следующей строке.
(global-set-key [M-mouse-1] 'mouse-set-point)
переопределяет первую (самую левую) кнопку мыши, нажатую с клавишей Meta, для установки точки, в которой вы нажимаете.
Будьте осторожны, используя не-ASCII символы в Lisp-спецификациях клавиш для привязки. Если они считываются как многобайтовые символы, как это обычно происходит в файле Lisp (см. Загрузка не-ASCII), вы должны набирать клавиши как многобайтовые тоже. Например, если вы используете это:
(global-set-key "ö" 'my-function) ; bind o-umlaut
или
(global-set-key ?ö 'my-function) ; bind o-umlaut
и ваша языковая среда многобайтовая Latin-1, эти команды фактически привязывают многобайтовый символ с кодом 246, а не байтовый код 246 (M-v), отправленный терминалом Latin-1. Для использования этой привязки, вам нужно научить Emacs декодировать клавиатуру, используя соответствующий метод ввода (см. Методы ввода в Руководстве GNU Emacs).
- Команда: global-set-key привязка клавиш
-
Эта функция устанавливает привязку key в текущей глобальной карте к binding.
(global-set-key key binding) ≡ (define-key (current-global-map) key binding)
- Команда: global-unset-key ключ
-
Эта функция удаляет привязку key из текущей глобальной карты.
Одно из применений этой функции — подготовка к определению более длинной клавиши, использующей key в качестве префикса — что не допускается, если key имеет привязку не как префикс. Например:
(global-unset-key "\C-l") ⇒ nil(global-set-key "\C-l\C-l" 'redraw-display) ⇒ nilЭта функция эквивалентна использованию
define-keyследующим образом:(global-unset-key key) ≡ (define-key (current-global-map) key nil)
- Команда: local-set-key привязка клавиш
-
Эта функция устанавливает привязку key в текущей локальной карте клавиш к binding.
(local-set-key key binding) ≡ (define-key (current-local-map) key binding)
- Команда: local-unset-key ключ
-
Эта функция удаляет привязку key из текущей локальной карты.
(local-unset-key key) ≡ (define-key (current-local-map) key nil)
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Key-Binding-Commands.html