私の.emacs
ファイルでは、control-meta-h のキーバインドを追加しました
(global-set-key (kbd "C-M-h") 'windmove-left)
C モードまたは C++ モードに入らない限り、問題なく動作します。どちらもデフォルトの動作で上書きされますc-mark-function
。私のバインディングが c-mode/c++-mode フックによって上書きされないようにするにはどうすればよいですか?
私の.emacs
ファイルでは、control-meta-h のキーバインドを追加しました
(global-set-key (kbd "C-M-h") 'windmove-left)
C モードまたは C++ モードに入らない限り、問題なく動作します。どちらもデフォルトの動作で上書きされますc-mark-function
。私のバインディングが c-mode/c++-mode フックによって上書きされないようにするにはどうすればよいですか?
別のマイナー モードでキーバインドを定義することで解決できます。詳細については、scottfrazer が次のソリューションを提供しているEmacs でキー バインドをグローバルにオーバーライドするを参照してください。
(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)