vimでは、左右の矢印キーで行を変更するにはどうすればよいですか?


25

vimでは、矢印キーは正しく機能しますが、1つを除き、期待どおりに上下左右に移動します。行の先頭では、左矢印は前の行の最後の文字に移動する代わりに何もしません。行の終わりでは、右矢印は次の行の最初の文字に移動する代わりに何もしません。

期待する動作を得るために変更できる設定はありますか?


4
ほとんどのVIMユーザーは、矢印キーを使用しないことをお勧めすると思います。
user12612

@ user12612なぜ正確に?
ルチョナチョ

@luchonachoアイデアは、真剣なVIMユーザーは、テキストのどこにいるかをナビゲートするために、指がキーボードのホーム行から離れないようにすることだと思います。
-nohat

回答:


26

さらにいくつかのグーグル検索を行った後、答えはwhichwrapオプションを使用することであることがわかりました。

.vimrcに次の行を追加しました。

set whichwrap+=<,>,[,]

<および>オプションは、通常モードのための目的の設定をオンにし、[そして]挿入モードのための希望の設定をオンにします。


1
(なぜこれが私のシステム上のデフォルト設定は謎ではありませんでした)
nohat

これはh j k lキーの動作に影響を与えないようです。
セバスチャングリニョーリ

右、hとjには他の値があります。:help 'whichwrap'またはvimhelp.appspot.com/options.txt.html#%27whichwrap%27を参照してください。行の先頭/末尾での左/右の動作について話しているため、kとlは実際には適用されません。
アダムモンセン

9

これを.vimrcに追加します。

set whichwrap+=<,>,h,l,[,]

0

これはデフォルトの動作です-ただし、いつでもHomeとEndを使用して行の開始と終了にジャンプできます。


5
OPはデフォルトの動作を変更したいと考えています。そもそも彼がここで尋ねた理由です。
アキラ

0

この問題を回避するには、wとbを使用します。これらは行をまたいで折り返します。


ただし、bは前の行の最後の単語の最初の文字を使用します。行の最初の文字で左矢印を前の行の最後の文字に移動する方法は本当にありませんか?
nohat

ええ、それは本当の解決策ではありません。
ハッセン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.