vi : カーソル・画面移動に関するコマンド
viコマンドモードにおけるカーソル移動のコマンドがなかなか覚えられないので、ここにまとめ。
説明の前提は、
- 矩形囲み(画面)は、テキストファイルのうち、エディター画面に表示されている部分を表す。
- 矩形囲み(ファイル)は、テキストファイル全体。よって、ファイル内&画面外の部分は、表示されていない部分。
- グレー矩形はテキスト1文字を表す。
- 矩形(カーソル)-つまりど真ん中-は、現在のカーソルの位置。
- 矩形(コマンド-hjkl0$HLggG)は、現在カーソル位置でコマンドを叩いた時のカーソルの移動先。
コマンド説明
- h, j, k, l→カーソルの左下右上への移動(これは基本)
- H→画面表示の先頭行。これは、h→左に1文字、H→画面左端、とペアで覚える)
- L→画面表示の最終行。これは、l→右に1文字、L→画面右端、とペアで覚える)
- 0, $→カーソルが位置する行の先頭または末尾への移動
- gg, G→ファイルの先頭または最終行。(画面表示の先頭、末尾ではない)
そのほかに、
- ctrl+b, ctrl+f→前または次のページに移動
- w →スペースをスキップして次の文字に移動。但し、カンマやタブなどの記号で区切るとでは、区切り文字と普通文字の両方で停まる。
- :n→ファイルのn行目に移動
- hjklHGは、頭に数字をつけると数字の分だけ(n行、n文字)跳ぶ。したがって、nG→n行目に移動で :nと同じ。
nを付けるとnHとnGは同じ動作になるようだ。
ちなみに、最後の:n、nGを使う時によく併用するのが、行番号の表示/取り消し。
- :set number ⇄ :set nonumber
- :set nu ⇄ :set nonu
省略形が nu(ぬ) とか nonu(のぬ) で気持ち悪いので注意。
(CentOS Linux Release 7.9.2009(core)で確認。)
2021/06/08