VimTutorは最初のレッスンで次のように述べています。
注:カーソルキーも機能するはずです。しかし、hjklを使用すると、慣れればはるかに速く動き回ることができます。本当に!
しかし、私はそれらの間にまったく違いはありません。hjkl v / sの矢印キーを使用することには本当に違いがありますか?
hjklを使用するためにタッチタイプの位置から手を動かす必要はありませんが、矢印キーを使用する場合はそうします。
重要なのは、カーソルを移動するための少し良い方法として「hjkl」キーを使い始めることですが、実際にはそうmotionsです。
h1文字左の動きj1行下の動きk一列に並ぶ動きl1文字右に動きますしたがって、たとえば、削除演算子を使用するとd、dl現在の文字をdh削除し、前の文字をdj削除し、現在の行とその下の行をdk削除し、現在の行とその上の行を削除します。もちろん、、、、、および任意の演算子yについてcもV同じことが言えます。gU
別の例は分割ウィンドウです。Control-w+sとControl-w+を使用していくつかのウィンドウを作成し、v信頼できるhjklを使用してウィンドウ間を移動したり、Control-w+hウィンドウを左に移動したり、 Control-w+jウィンドウを下に移動したりできます。
つまり、矢印キーよりも優れているだけではありません。Vimについての理解が深まるにつれて、hjklキーを他のコマンドとさまざまな方法で組み合わせることができることを学び、それらを使用できることを嬉しく思います。
実際、h j k lキーを使用すると、矢印キーに到達する必要があるときにキーボードの右手の動きの多くを回避するための良い習慣になりますが、vimを使用してテキストファイルをナビゲートするより効率的な方法があります。
f <char><char>:現在の行で次に出現する文字に移動します。カーソルは文字の上に置かれます。t <char><char>:現在の行で次に出現する文字に移動します。カーソルは文字の直前に置かれます。TおよびF:この行で文字検索を後方に移動しますTが、カーソルを文字の直後(または後方に考える場合は前)に置き、そのF上にカーソルを置きます。/ <char> <Enter>:行に関係なく、文字の次の出現に移動します。nこれを1回行った後、またはを押すNと、次の前のオカレンスに移動します。? <char> <Enter>:行に関係なく、文字の次の出現箇所に逆方向に移動します。n次のオカレンス(後方)を検索Nし、前のオカレンスに移動します。{および}:段落をナビゲートします。段落は基本的に、空の行で分割されたブロックです。詳細については、を参照:help paragraphしてください。(および):Sentences()を前後に移動し:help sentenceます。文は、スペース、タブ、またはエンドラインでwords終わる、. !または後に続くグループです。?e:次にword、カーソルを最後に置きますwordw:次にword、カーソルを先頭に置きますwordb:戻る1 word、カーソルを先頭に置きますwordge:戻る1 word、カーソルを最後に置きますwordE W BおよびgE:と同じe w b geですが、WORD。詳細については、を参照:help wordしてください。使用やその他の動きの最初の良い習慣をh j k l身に付け、矢印キーを避けたい場合は、家の中の.vimrcファイルの次の行を入力して無効にします。
noremap <Up> <NOP>
noremap <Down> <NOP>
noremap <Left> <NOP>
noremap <Right> <NOP>