iTerm2 Vim alt +右/左矢印


13

Linuxユーザーとして、ALT+ leftまたはを使用してvim / nanoで単語から単語へジャンプするのに非常に慣れていrightます。

これはiTermを使用して正しく動作しないようです。zshを使用しています。追加しようとしました。

bindkey -e
bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

動作しますが、zsh内でのみ、それらの行をコメント化し、iTermにキーボードショートカットを追加しました。

ここに画像の説明を入力してください

動作しますが、 ALTleft

右矢印でも機能させるにはどうすればよいですか?

回答:


10

iTermのプロパティで[プロファイル]-> [キー]に移動し、そこで設定します

  • 以下のための⌥→送信エスケープシーケンス[1;5C
  • 以下のための⌥←送信エスケープシーケンス[1;5D

ここに画像の説明を入力してください


私にはうまくいきません。エスケープシーケンスが送信されますが、vimは1スペースだけ前後に移動します。OS X 10.8に付属するデフォルトのvim 7.3を実行します。理想的には、ターミナルエミュレータのデフォルトを微調整するのではなく、vim側で変更したいと思います(移植性が向上するため)。
slhck

それは奇妙で、vim(homebrewから、デフォルトではない)とoh-my-zshからのデフォルト設定(〜/ .oh-my-zsh / lib / key-bindings.sh内)のzshの両方で動作します。
永遠のひと

ここでも機能しません
。zsh

使用可能なリモートシステム(ubuntu 13.04、安定版debian、および科学linux)でもう一度確認しましたが、どこでも動作します。Control + V、⌥→を押したときの出力は何ですか?私にとっては、それは^ [[1; 5C
永遠のひと

私のために働く:iTerm / Vi + zsh
Petro Semeniuk 14年

7

端末がvimに送信しているキーコードを表示することから始めます。

$ sed -n l
^[[1;9D 

上記の例では、sedコマンドを実行してを押しましたAlt + Left

これ^[[1;9Dは、エスケープされたシーケンスがvimに送信されるため、マッピングに使用できます。

vimrcに追加します。

map <Esc>[1;9D :tabn<CR>

おかげで、それは私のために働いた。
j5shi


0

これらの答えはどれも私にとってはうまくいきませんでした。結局、Linux VMをロードして、何が得られるかを確認しました<Alt-ARROW>

私のために働いた4つのエスケープシーケンスは次のとおりです:

  • <Alt+Up>[1;3A
  • <Alt+Down>[1;3B
  • <Alt+Right>[1;3C
  • <Alt+Left>[1;3D

プロファイルキーによってオーバーライドされるメインキーではなく、プロファイルキーを編集するように注意してください(Alt +矢印はデフォルトでvimで動作しなかった16進シーケンスに設定されます)。


-1

他の可能な解決策として、vimはそれ自体で単語の動きを提供します:

:help word-motions

2
ここに参照を置くだけでなく、重要な情報を含める必要があります。
パブーク14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.