22

シェルプロンプトの場合と同じように、Option-leftとOption-rightを使用してVim内の単語をスキップできるようにしたい(そしてCmd-left / rightを使用して行の最初と最後に移動できるようにしたい)。私のIterm2設定には、これを行うためのマッピングがあり(たとえばOption-left、単語をスキップするEsc-Hためのマッピングと1つ)、これはローカルのシェルで、またはリモートサーバーにSSH接続されたときに機能します。option-rightEsc-F

Vimをローカルまたはリモートで使用すると、option-left機能しますが、機能option-rightしません。これは、Vimが自然にリッスンするが、リッスンしEsc-Hないためだと思いEsc-Fます。.vimrcファイルをEsc-btobEsc-ftoに変更することでこれを回避できますfが、接続しているすべてのサーバーに対してこれを実行したくありません。

同様に、私はCmdに対して同じ望ましい設定を持っています-行の最初と最後に行くための左/右。Iterm2マッピング(例:to)を介してシェルでこれを機能させることができますが、キーを再度マップしない限り(eg to Cmd-leftEsc-[h、Vimはこれにまったく応答しません。Esc-[h^

更新:オプション-左/右を機能させる方法を理解しました。iTerm2のマッピングをそれぞれescape-[1;5Dとに変更しescape-[1;5Cました。私はまだCmd-left/rightの問題を解決したいと思っています(これを反映するために質問のタイトルを変更しました)。何か案は?

4

4 に答える 4

21

行の先頭/末尾に送信するOSXの動作を模倣するためCmd-left/rightに、iTerm2に次のマッピングを追加します。

  • Cmd-leftエスケープシーケンス[1~
  • Cmd-rightエスケープシーケンス[4~

前/次の単語に送信するOSXの動作を模倣するためOption-left/rightに、iTerm2に次のマッピングを追加します。

  • Option-leftエスケープシーケンス[1;5D
  • Option-rightエスケープシーケンス[1;5C

マッピングで欠けていたものを追跡してくれたこのブログ投稿に特に感謝しますcmd-left/right

于 2012-03-08T01:23:56.537 に答える
11

FWIW、Mac OSX10.7.3のiTerm21.0.0.20120203ではdolanの答えが機能しませんでした。彼の解決策は、ショートカットキーを押したときにのみ端末に挿入~および5D/されました。5C

代わりに、次のソリューションを使用しました。

YMMV、ソリューションの1つのセットが機能し、他のセットが機能しない理由がわからない

于 2012-04-10T04:50:06.733 に答える
9

私はiTerm23.4.2を使用していますが、実際には、これを可能にするプロファイル用に選択できるプリセットがあります。 プロファイルキーマッピング 自然なテキスト編集プリセット

于 2020-12-03T15:35:13.320 に答える
1

私はMacOSを持っていないので、あなたの状況を正確に知ることはできませんが、他のOSからの問題を認識しています。

基本的に、それは端末がvimによって理解されないキーコードを送信することを意味します。過去にやってみて直しました

 TERM=something
 export TERM

vimを呼び出す前に

たとえば、 Putty/画面全体でAIX5.3ですべてのキーと構文の強調表示を機能させるには、次を使用する必要がありました。

 TERM=iris-ansi vim

不正なTERMに合格した場合の組み込み端末タイプのリストがあります

于 2012-03-07T07:52:40.783 に答える