vi : カーソル・画面移動に関するコマンド

viコマンドモードにおけるカーソル移動のコマンドがなかなか覚えられないので、ここにまとめ。

説明の前提は、

  • 矩形囲み(画面)は、テキストファイルのうち、エディター画面に表示されている部分を表す。
  • 矩形囲み(ファイル)は、テキストファイル全体。よって、ファイル内&画面外の部分は、表示されていない部分。
  • グレー矩形はテキスト1文字を表す。
  • 矩形(カーソル)-つまりど真ん中-は、現在のカーソルの位置。
  • 矩形(コマンド-hjkl0$HLggG)は、現在カーソル位置でコマンドを叩いた時のカーソルの移動先。

f:id:huamutou:20210608144212p:plain

カーソル、画面操作に関するviコマンド

コマンド説明

  • 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

 f:id:huamutou:20210609010439p:plain

f:id:huamutou:20210609010629p:plain

省略形が nu(ぬ) とか nonu(のぬ) で気持ち悪いので注意。

 (CentOS Linux Release 7.9.2009(core)で確認。)

2021/06/08