[解決済み] Emacsのキーバインドをグローバルにオーバーライドする
2022-11-27 18:36:17
質問
キー バインディングを設定して、そのキーに対する他のすべてのバインディングをグローバルにオーバーライドし、優先させるにはどうしたらよいでしょうか。 すべてのメジャー/マイナー モード マップをオーバーライドし、私のバインディングが常に有効であることを確認したいです。
これはもちろんうまくいきません。
(global-set-key "\C-i" 'some-function)
で動作します。
text-mode
では動作しますが
lisp-mode
,
C-i
へのリバウンドは
lisp-indent-line
.
このバインディングをオーバーライドして
lisp-mode
と他のすべてのモードで個別にこのバインディングを上書きすることもできますが、もっと簡単な方法があるはずです。 新しいファイル タイプのために新しいモードをインストールするたびに、すべてのキー バインディングが新しいモードによって上書きされていないことを確認するために、戻って確認する必要があります。
私は、他のエディターからすでに学び、染み付いたバインディングをエミュレートしたいので、これを実行したいのです。
どのように解決するのですか?
私は、すべての "override" キーバインディングにマイナー モードを使用しています。
(defvar my-keys-minor-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "C-i") 'some-function)
map)
"my-keys-minor-mode keymap.")
(define-minor-mode my-keys-minor-mode
"A minor mode so that my key settings override annoying major modes."
:init-value t
:lighter " my-keys")
(my-keys-minor-mode 1)
これは、他の誰かがキーボードを操作している場合や、デフォルトのキーバインディングが何をするのか確認する必要がある場合に、私が行ったすべての変更を一挙にオフにできる (マイナーモードを無効にするだけ) という追加の利点があります。
ミニバッファでこれをオフにする必要があるかもしれないことに注意してください。
(defun my-minibuffer-setup-hook ()
(my-keys-minor-mode 0))
(add-hook 'minibuffer-setup-hook 'my-minibuffer-setup-hook)
関連
-
[解決済み] EmacsとVimの違い
-
[解決済み】.emacsを変更した後、再読み込みするにはどうしたらいいですか?
-
[解決済み] Emacsの中でsu/sudoを使ってファイルを開く
-
[解決済み] EmacsをIDEとして使用する
-
[解決済み] Emacs - 複数の列を1つのバッファで表示する
-
[解決済み] emacsの分割画面の大きさを変えるには?
-
[解決済み] パッケージ名のリストを指定して、Emacsのパッケージを自動的にインストールするには?
-
[解決済み] org-modeのインラインコード
-
[解決済み] emacs が ido を有効にして新しいファイルを作成する
-
[解決済み] イービルモードのベストプラクティス?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Emacsの中でsu/sudoを使ってファイルを開く
-
[解決済み] Emacsで*scratch*バッファを再オープンする?
-
[解決済み] Emacs - 複数の列を1つのバッファで表示する
-
[解決済み] emacsの分割画面の大きさを変えるには?
-
[解決済み] Emacsでコードの折りたたみ効果を得るには?
-
[解決済み] パッケージ名のリストを指定して、Emacsのパッケージを自動的にインストールするには?
-
[解決済み] Emacsでファイルの読み取り/書き込みモードを変更するには?
-
[解決済み] EmacsでSSHとSudoを使ってファイルを開く
-
[解決済み] emacsのコマンド名が与えられたら、キーバインドをどのように探しますか?(その逆も然り)
-
[解決済み] イービルモードのベストプラクティス?[クローズド]