C-[
何かにバインドし、すべてのM-
(メタ)バインディングをめちゃくちゃにしない方法はありますか?
この質問が出てくるのは初めてではありません。残念ながら、前のスレッドで提供された唯一のソリューションは、a) Linux固有、b) Emacsとは何の関係もない外部ツール(これもLinux固有)を必要とします。同様に、Emacs がシーケンスを取得する前にOS XでKarabinerのようなものを使用してC-[
シーケンスを盗むこともできましたが、これは不格好で高価です。
それが翻訳を主張しているEmacsのであることを考えるC-[
にESC
、C-i
にTAB
私は非常にこれらの関係を壊し、バック貴重なキーシーケンスを取得したいと思い他の人と、おそらく。最近、私はこの問題に全速力で取り組み、静かで無邪気なsmartparensモードを非難しました。
関与することを可能な解決策function-key-map
とkey-translation-map
して、ここで議論したが、悲しいかな、それのいずれかもはや作品かは、最初の場所(または私が何かを間違ってやっている)で動作しませんでした。それは正しい方向に進んでいたと思います。
@Drewコントロールとのキーの組み合わせが、GUIアプリケーションでASCIIコントロールコード(32しかない)にマップされる必要があることは、決して明白ではありません。(あるいは、xtermでも、多くの場合、一意のエスケープシーケンスを送信するためのmodifyOtherKeysモードがありますが、特にこれらについては
—
わかり
@ Random832:キーと文字を区別するのはあなたの権利です。エディターがキーシーケンス
—
Drew
C-[
(プレスCtrl
アンドヒット[
)をC-[
コントロールキャラクター(別名ESC
キャラクター)にマッピングすることは、いくらか論理的で簡単ですが、それは、エディターを設計している人にとって義務ではありません。そして、はい、Emacsはそれを行います。C-[
およびESC
は同じ文字ですが、キーCtrl
+ [
およびをEsc
特定の文字にマップする必要はありません。
C-[
要求しませんESC
。2つは同じものです。同様に、C-i
とTAB
で異なる名称で同じ ASCII制御コード。