どこにカーソルがあるか。
なぜエディターを使うかというとソースプログラムの編集においてです。
編集という作業はプログラムの全体、プログラムの中のルーチンの確認をおこないます。
見れるところはすべて見る、それをいかに早く進めるかということです。
そのためにはスクロールとジャンプの機能を備えていればエディターと言えます
その意味でVimは最適のものと言えます。
ノーマルモードは全体の操作を受け持ち、インサートモードをは入力を受け持ちます。
カーソルの移動はノーマルモードになります。インサートモードの中でもカーソルの移動は出来るのですが補助的なものになります。
どこにカーソルがあるかを意識する。このときはノーマルモードです。
カーソル移動
数 |
コマンド |
説明 |
N |
k |
上に移動 |
N |
j |
下に移動 |
N |
l |
右に移動 |
N |
h |
左に移動 |
|
0 |
(または^)文頭に移動 |
|
$ |
文末に移動 |
|
gg |
行頭に移動 |
|
G |
行末に移動 |
スクロール
数 |
コマンド |
説明 |
N |
CTRL-E |
画面を N 行下方向スクロール(デフォルトは1) |
N |
CTRL-D |
画面を N 行下方向スクロール(デフォルトは画面 の半分) |
N |
CTRL-F |
画面を N ページ分下方向スクロール |
N |
CTRL-Y |
画面を N 行分上方向スクロール(デフォルトは1) |
N |
CTRL-U |
画面を N 行分上方向スクロール(デフォルトは画面 の半分) |
N |
CTRL-B |
画面を N ページ分上方向スクロール |
画面
数 |
コマンド |
説明 |
N |
H |
画面上で N 行目の最初の非空白文字に移動 |
|
M |
画面上の真ん中の行の最初の非空白文字に移動 |
N |
L |
画面上で下から N 行目の最初の非空白文字に移動 |
現在行
数 |
コマンド |
説明 |
|
z[CR] |
現在行を画面の1行目にして、再描画 |
|
z. |
現在行を画面の中央にして、再描画 |
|
z- |
現在行を画面の最下行にして、再描画 |
ジャンプ
数 |
コマンド |
説明 |
N |
CTRL-O |
ジャンプリストの N 番目に古い場所に移動 |
N |
CTRL-I |
ジャンプリストの N 番目に新しい場所に移動 |
|
:ju |
ジャンプリストを一覧表示 |
|
`` |
直前のジャンプコマンドの前の場所に移動 |
このノーマルモードの操作を暗記できれば楽になります。