Ctrl-を送信するにはどうすればよいですか。iterm2で?


4

iterm2(emacs)でCtrl+ を送信するにはどうすればよい;ですか?

ここここここに解決策があるようです

これらは私が望むものに近いですが、私はまだそれを機能させることができません。


3番目のリンクに回答を適応して送信0x1B 0x3Bできませんか?
ダニエルベック

回答ありがとうございます。私はそれを試してみましたが、0x1B = ESCは制御できませんか?(emacsはそれをM-と見なします; C-ではなく;)
eugene

回答:


1

これらのキーの組み合わせを機能させる方法Keysは、iTermの設定のセクションに移動して^;、次のようなエスケープシーケンスを送信するためのショートカットを作成することです^[[aaaa何かに置き換えることができますが、実際のキーにマッピングされるものがあることに注意してください)。次に、で、.emacsマッピング先のキーボードショートカットを作成します。たとえば、

(global-set-key (kbd "C-[ [ a a") 'the-function-you-want-to-map-to)

ここでiTermで何をする必要がありますか?`^; ^にバインドするとき、設定できるアクションフィールドがあります。「エスケープシーケンスの送信」に設定する必要がありますか?そして、次のフィールドはどうでしょうか?
rien333

はい、「エスケープシーケンスの送信」を使用^[してから、(私の例では[aa)なしでコードを追加します。^[(コントロール- [)制御コード「エスケープ」です。
asmeurer

ありがとう、これはうまくいく!ただし、エスケープシーケンスを入力すると、iTermはESC + [ _your escape sequence_ ]ctrlキーの代わりに実際にエスケープキーを送信することを示すを表示します。(私の場合、ESCはalt /にマップされているようですM-)ちょっと奇妙なことです。
rien333

少なくとも端末に関する限り、Control- [(control-leftブラケット)とESCは同じものです(ESCはemacsでもM-と呼ばれ、多くの場合alt / optionにマップされます)。emacsでこれをテストできます。ESC-fそして、C-[ fの両方が(あなたが入力した場合、実際に、同じことを行うC-[、それが表示されるはずESC一番下)。
-asmeurer

いいえ、私のiTermにはありませんemacs -nw。私にとって、ESCはalt / optionを押すこととまったく同じです(意識的に変更したことはありません)が、たとえばMfではなくESC-fとして表示されます。
rien333

5

Iterm2でキーシーケンスをコントロールキーにバインドする方法

  1. アプリストアから無料のアプリケーション「キーコード」をダウンロードし、以下のリンクからインストールしてから開きます。

  2. ヒットCtrl+をsome key、私が使用します。この場合、Ctrl+ w

    16進コードを取得する方法

  3. 赤い四角のコードは、端末に送信するコードです

  4. itermで、設定->キー-> +を使用してキーシーケンスをマップします。

コマンドを16進コードにマップする方法

  1. これにより、ターミナルでopt +←deleteがCtrl+ wにマップされますが、任意のキーを別のキーにマップするために使用できます。私が知っているCtrl+は、wそれがサポートしていないので、Emacsのための悪い例ですCtrl+ wが、あなたは、Emacs互換性のあるショートカットにこの方法を使用することができます。

貼り付けたUnicode構文がサポートされているとは思わない。
rien333
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.