Отмена привязки ключей emacs к многим терминам в emacs 23 - PullRequest
4 голосов
/ 24 октября 2011

Я пытаюсь настроить многопользовательский режим для emacs 23, но строка

(setq term-unbind-key-list '("C-z" "C-x" "C-c" "C-h" "C-y"))

, которую я видел, рекомендуют всем веб-сайтам, которые я рекомендую, чтобы избавиться от столкновений при связывании ключей, - я все ещене может Cz из справочных страниц, например.Что-то изменилось в Emacs 23?Как мне правильно их закрепить?

1 Ответ

4 голосов
/ 24 октября 2011

Переменная term-unbind-key-list влияет только на привязки в карте ключей term-raw-map.Вы можете узнать это, посмотрев документацию по функции multi-term-keystroke-setup (не знаю, почему эта информация недоступна для самой переменной ...)

Настройка нажатия клавиши `term-char-mode '.

По умолчанию, связывание клавиш term-char-mode' conflict with user's keystroke. So this function unbinds some keys with term-raw-map' и связывает некоторое нажатие клавиши с помощью `term-raw-map '.

Итак... вероятно, Cz по-прежнему связан с suspend-frame b / c, это то, что Emacs делает по умолчанию.

Если вы хотите, чтобы Cz был привязан к тому, чтообычно он находится в терминале (suspend-job), вы можете сделать это:

(require 'multi-term)
(add-to-list 'term-bind-key-alist '("C-z" . term-stop-subjob))

Что делает привязку делать то, что (я предполагаю) вы хотите.

...