2016-03-28 5 views
0

私はMac OSX上でITerm2を使用しています。私は "スキップワード"ホットキー(alt left、alt right)を動作させようとしています。 ITerm2では、これは⌥ ← to b⌥ → to f(ここにある:https://coderwall.com/p/h6yfda/use-and-to-jump-forwards-backwards-words-in-iterm-2-on-os-x)のマッピングによって行われます。しかし、VIMのskip words関数はbfのエスケープシーケンスではなく、[1;5C[1;5D(ここにはhttps://stackoverflow.com/a/9611698/800735となります)に応答するようです。ITerm2(Mac OSX)でエスケープシーケンスを再マッピングする方法は?

私は、VIM上の単語をスキップするために別のセットのホットキーが必要であると思われ、Iterm2上に別のセットが必要なようです。私がしたいのは、一定の整合性のために、エスケープシーケンスbf[1;5C[1;5DをITerm2に再マッピングすることです。私はこれをXTermで.Xresourcesに追加したことを知っています: URxvt*keysym.Meta-f: \033[1;5C URxvt*keysym.Meta-b: \033[1;5D

ITerm2には相当するものはありますか?

おかげ

答えて

2

言及した最初のページ(Use ⌥ ← and ⌥→ to jump forwards/backwards words in iTerm 2, on OS X)は、 "コマンドライン" についてあいまいです。 OSXについて話しているとすれば、作者はbashを参照している可能性があり、いくつかのキーを作成してそのシェルに有用なバインディングを送信します。 bashと定義されており、エスケープ文字をメタ修飾子として扱うキーバインディングはです。

他のページ(How to get Cmd-left/right working with iTerm2 and Vim (without requiring .vimrc changes)?)はvimで類似の問題を解決しています。しかし、vimはエスケープ文字を特別に扱います。したがって、そこで使用されているバインディングにはエスケープシーケンス(普遍的に利用可能なわけではありませんが、—でも問題はありません)があります。

iTerm2は本当にあなたが使用しているプログラムを知らないので、この1つのアプローチは、あなたのbash「.inputrcの」ファイルにiTerm2が送信(をしてvimが受け入れる)エスケープシーケンスを使用することです。

エスケープシーケンスで5は、方法によって、次のとおりです。ここで

は、その解決策を議論するいくつかのリンク(それは新しい問題ではありません)です コントロール修飾子については、 XTerm Control Sequencesに記載されています。

+0

Bashはエスケープシーケンスと関数(つまり前方単語、後方単語)の間のマッピングを端末で制御しますか? ITerm2のデフォルトマッピングは 'f - > forward-word'、' b - > backward-word'でした。どこから来たのですか([1; 5C]と[[1; 5D]はbashのデフォルトであるようです)。 P – cozos

+0

Bashのエスケープfとエスケープbは、iTerm2がサポートしているxtermで使用されている制御シーケンスの前にあると思われます。 –

関連する問題