vi コマンドの規則性
コマンドの形式
コマンドの構造が厳密に決まっているわけではないが,下のような形式になっているものが多い。
<繰り返し回数><操作><範囲>
| 操作 |
|
| 範囲 |
| w |
単語の終わりまで(空白含む) |
| e |
単語の終わりまで |
| f<文字> |
<文字>の位置まで |
| 0 |
行の左端まで |
| $ |
行の右端まで |
| b |
単語の先頭まで |
|
例
d0 |
カーソル位置から行の左端まで削除 |
5dk |
カーソル行とその上5行を削除 |
3yj |
カーソル行とその下3行をコピー |
小文字の連続
上の形式での操作に該当するコマンドは,二つ続けて入力するとカーソル行に対する操作となる。
例
cc
|
カーソル行を変更 |
dd
|
カーソル行を削除 |
yy
|
カーソル行をコピー |
大文字と小文字
英文字の小文字と大文字は動作に類似性がある。
大文字の動作は小文字の動作の何らかの変形であることが多い。
操作対象が文字と行であったり,操作方向が順方向と逆方向であったりする。
例
a
|
カーソルの右隣に挿入 |
A
|
カーソル行の末尾に挿入 |
i
|
カーソルの左に挿入 |
I
|
カーソル行の左端に挿入 |
o
|
カーソル行の下を1行空けて挿入 |
O
|
カーソル行の上を1行空けて挿入 |
p
|
カーソル行の下にペースト |
P
|
カーソル行の上にペースト |
fa
|
カーソルより右にある文字 a へ移動 |
Fa
|
カーソルより左にある文字 a へ移動 |
|