ターミナルモードでCtrl-=

ターミナルモードでCtrl-=

EmacsはCtrl-=をユーザー定義関数にバインドします。

奇妙なことは、端末でEmacsを実行するときにCtrl-=を押すと等号のみを入力し、このカスタム機能は実行されないことです。 GUIウィンドウでは、すべてが期待どおりに機能します。

別のターミナルプログラムを試してみましたが、あまり違いはないようです。

EmacsがCtrl-=を許可しないのはなぜですか?

私のキーボードでは、Ctrl-=は実際にはCtrl-Shift-0です。

私のシステムはKubuntu 22.04です。

修正する:

誰かがこの質問をしたため、端末(Konsoleではemacsが-nwオプションで始まる)で機能しない定義は次のとおりです。

(global-set-key (kbd "C-M-<") 'indent-region)
(global-set-key (kbd "C-=") 'xxxx)

これは、端末でEmacsを実行する際の制限事項のようです。

ここ(https://www.gnu.org/software/emacs/manual/html_node/elisp/Other-Char-Bits.html)内容は以下の通りです。

2.4.3.5 その他の文字修正ビット

(...) ASCII は、制御文字が大文字か小文字かを示すことはできません。 Emacsは、ビット2**25を使用して制御文字を入力するときにShiftキーが使用されたことを示します。この違い XのGUIディスプレイなどのグラフィックディスプレイでのみ使用でき、違いは報告しません。

私が知っている限り、これはAlt、 "super"、 "hyper"などの他の修飾キーに拡張され、それを "Windows"キーに設定しました。

ベストアンサー1

おすすめ記事