1

Я следую описанному здесь трюку, чтобы добавить новые привязки клавиш в мой файл .emacs : http://www.gnu.org/software/emacs/manual/html_node/efaq/Binding-keys-to-commands.html.

Тем не менее, это приводит к таким строкам в моем файле .emacs :

(global-set-key [24 4] (quote some-command))

Вместо [24 4] я хочу, чтобы он явно упоминал удобочитаемые команды клавиш C-x C-d . Иначе, когда я смотрю на свой файл .emacs я не могу понять [24 4] и забыть, с какими ключами я связал вещи.

1) чем мне заменить [24 4] в моем файле .emacs чтобы сделать его читаемым человеком?

2) Есть ли способ использовать вышеупомянутый "трюк" и заставить его генерировать удобочитаемую команду клавиши вместо цифр?

2 ответа2

3

Вы можете использовать функцию key-description, чтобы преобразовать последовательность в более читабельную форму -

(key-description [24 4])
=> "C-x C-d"

а затем преобразовать его обратно, используя функцию kbd, так что вы можете сказать,

(global-set-key (kbd "C-x C-d") 'some-command)

Таким образом, используя kbd, вы можете пропустить упомянутый трюк и просто написать свою комбинацию клавиш напрямую. Это немного больше, чем другие представления, но определенно легче читать.

Чтобы увидеть, как написать данный ключ, нажмите Ch c, а затем клавишу (и) - это вызывает краткое описание ключа-ключа и выводит что-то в области сообщения, например, "M-Q runs the command fill-paragraph" или "<C-M-f7> is undefined" .

1

В Emacs lisp символы пишутся ?<char> , и так же, как в C, они обрабатываются как целые числа, так что вместо 24 вы можете написать ?\C-x или ?\^x а вместо тебя можно написать ?\C-d или ?\^d , так что, в общем, я бы написал [?\C-x ?\C-d] .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .