2012-12-27 2 views
2

Можно создать дубликат:
Globally override key binding in EmacsHook перезаписывает определенные пользователем Emacs KeyBinding

В моем .emacs файл, я добавил клавиш для управления-мета-ч

(global-set-key (kbd "C-M-h") 'windmove-left) 

Он отлично работает, пока я не вхожу в режим c-mode или C++. Оба перезаписывают его по умолчанию, то есть c-mark-function. Как вы избегаете того, что моя привязка переписывается в режиме c-mode/C++?

+0

Да, scottfrazer ответ на другой вопрос, решить мою проблему. Мы должны закрыть его как дубликат. –

ответ

2

Может быть решена путем определения клавиш в отдельном второстепенном режиме. Для получения дополнительной информации см Globally override key binding in Emacs, где scottfrazer обеспечивает следующее решение:

(defvar my-keys-minor-mode-map (make-keymap) "my-keys-minor-mode keymap.") 
(define-key my-keys-minor-mode-map (kbd "C-M-h") 'windmove-left) 

(define-minor-mode my-keys-minor-mode 
    "A minor mode so that my key settings override annoying major modes." 
    t " my-keys" 'my-keys-minor-mode-map) 

(my-keys-minor-mode 1) 
Смежные вопросы