コマンド |
動作 |
備考 |
モード切替え |
|
|
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 |
すべてのオプションを表示 |
|
|