| コマンド |
動作 |
備考 |
| モード切替え |
|
|
| i |
カーソル位置から入力モードへ移行 |
a カーソル位置の後から入力($a 行末に追加入力=A)
|
| o |
カーソルの下に、行を追加し入力モードへ |
O カーソルの上に、行を追加
|
| Esc |
コマンドモードへ移行 |
|
| ファイル操作 |
|
|
| vi FileName |
ファイル名を指定して、起動 |
|
| :w FileName |
名前を付けて保存 |
|
| :w |
ファイルを上書き保存 |
|
| :q |
viを終了 |
|
| :q! |
保存せずに終了 |
|
| カーソルの移動 |
|
|
| k |
上へ |
5kとすると、5行上へ移動 |
| j |
下へ |
5jとすると、5行下へ移動 |
| h |
左へ |
5hとすると、5文字左へ移動 |
| l (小文字のL) |
右へ |
5lとすると、5文字右へ移動 |
| H |
画面最上行の左端へ |
L は画面最下行の左端へ、M は画面中央の左端へ
|
| ^ |
行頭へ |
0 (数字)も同じ
|
| $ |
行末へ |
|
| [Enter] |
次の行頭へ |
- は上の行の行頭へ
|
| b |
前の単語へ |
|
| w |
次の単語へ |
|
| % |
対応する括弧へ |
|
| Ctrl + F |
1ページ下へ |
Ctrl + D 半ページ下へ
|
| Ctrl + B |
1ページ上へ |
Ctrl + U 半ページ上へ
|
| 9G |
先頭から 9行目へ |
1ならファイルの先頭 |
| G |
ファイルの末尾へ |
|
| 99% |
ファイル全体の上から99%の位置に飛ぶ |
|
| ma |
aという名前でマークする(a-zA-Z1文字) |
小文字はファイル内スコープ
|
| `a |
マーク a に跳ぶ |
'a ならマーク a の行に跳ぶ
|
| `[ |
最後に編集した文字へ |
'[ なら最後に編集した行に跳ぶ
|
| 文字の編集 |
|
|
| x |
カーソル位置の文字を削除(バッファに記憶) |
X カーソルの前の文字を削除 P又はpでペースト |
| 9dd |
カーソル位置から9行を削除(バッファに記憶) |
P又はpでペースト |
| 9yy |
カーソル位置から9行をyankバッファに記憶 |
P又はpでペースト |
| p |
カーソルの後にペースト |
P はカーソルの前にペースト
|
| dw |
1語削除 |
d$ で行末まで削除
|
| J |
次の行を結合 |
9J で9行結合
|
| u |
元に戻す(undo) |
U は行全体のundo
|
| . (Period) |
繰り返し |
|
| `ay`b |
マーク a からにマーク b までをヤンク |
'ay'b なら行コピー
|
| 検索/置換え |
|
|
| s |
1文字を他の文字列に置換 |
S だと行単位で文字列置換 |
| /検索文字列 |
下へ検索 |
nでつぎ(N で逆方向)を検索 |
| ?検索文字列 |
上へ検索 |
nでつぎ(N で逆方向)を検索 |
| :1,$s/mojiold/mojinew/gc |
ファイル内の文字を置換え |
1=検索開始行、$=検索終了行($は最終行)、
s=置換えoption、
mojiold=検索文字、mojinew=置換え文字、
g=全て置換え(無ければ最初に見付かった文字のみ)
c=置き換える前に確認(無ければ問答無用で置き換え) |
| キーボードマクロ |
|
|
| qa |
バッファaにマクロを記録開始 |
q で記録終了 |
| @a |
バッファaのマクロを実行 |
|
| コマンド実行など |
|
|
| :! xxx |
コマンド xxx を実行 |
|
| :sh |
シェル起動(exitで戻る) |
|
| :r xxx |
ファイル xxx の内容を次の行に挿入 |
|
| :!r xxx |
コマンド xxx の結果を次の行に挿入 |
|
| オプションなど |
|
|
| Ctrl + G |
ファイル名、修正の有無、現在の行数などの情報を表示 |
|
| :set nu(mber) |
行番号表示 |
set nonu(mber)で非表示
|
| :set showmode |
現在のモードを表示する |
|
| :set showmatch |
() や {} の対応の報告をするようになる |
|
| :set ignorecase |
大文字/小文字の区別なく検索する |
|
| :set autoindent |
自動インデントモード |
|
| :set all |
すべてのオプションを表示 |
|
|