vi の使い方

起動

vi [ファイル名 ...]

指定されたファイルが無い場合は新規作成モードとなる。 ファイル名にはワイルドカード( '*', '?' など )も使用可能。

モード

コマンドモード

カーソルを動かしたり、文字を削除したりするモード。起動直後はこのモード。

入力モード

文字を入力するモード。このモードにはさらに、入力した文字を挿入する 挿入モード と、すでにある文字を上書きする 置換モード がある。 Esc でコマンドモードへ戻る。

exモード

ファイルをセーブしたり、vi を終了するモード。

モード切り替え

【コマンドモード】→【入力モード】

a : カーソル位置から後ろに挿入モードで文字を入力 ( append )

i : カーソルの前の位置から挿入モードで文字を入力 ( insert )

R : カーソル位置から後ろに置換モードで文字を入力 ( replace )

【入力モード】→【コマンドモード】

Esc キー

【コマンドモード】→【exモード】

(コロン) キー

【exモード】→【コマンドモード】

Backspace キー

コマンドモードにおける各種コマンド

カーソル移動
k (↑)
j (↓)
h (←)
l (→)
0行頭へ
$行末へ
[Enter]次の行の先頭へ
w次の単語へ
b前の単語へ
ctrl + f次画面へ
ctrl + b前画面へ
1G文頭へ
G文末へ
nnGnn行目へ
文字、文字列の削除・挿入・コピー・ペースト
x1文字削除
dw1語削除
cw1語変更
dd1行削除(カット)
yy1行コピー
d$カーソル位置から行末まで削除
c$カーソル位置から行末まで変更
pペースト(張り付け)
文字、文字列の検索
/正規表現前方検索
?正規表現後方検索
n次の候補
N前の候補
文字入力
aカーソル位置から後ろに挿入モードで文字を入力
iカーソルの前の位置から挿入モードで文字を入力
Rカーソル位置から後ろに置換モードで文字を入力
その他
.(ドット)直前の変更操作の繰り返し
u直前の変更操作の取り消し(何回でも戻れる)
: (コロン)exモードに移行

exモードにおける各種コマンド

q 保存せずに終了
q! 保存せずに強制終了
w 保存する(終了はしない)
wq 保存して終了する
1, $s/正規表現/置き換え文字列/g 文書内の全ての「正規表現」を「置き換え文字列」に置換
r xxxファイル xxx の内容を次の行に挿入
r! xxxOS の xxx コマンドを実行し、その結果を次の行に挿入
h日本語マニュアルを表示
Backspace キー コマンドモードに移行する