前提
viは入力コマンドモードがある、入力モードがらコマンドモードに切り替える際はEscを押下する、コマンドモードから入力モードへの切り替え方は下記に記載する。
起動
-
編集対象のファイルを開く
vi ファイル名
移動
-
左に移動
h -
右に移動
l -
上に移動
k -
下に移動
j -
画面の最上行に移動
H -
画面の中央行に移動
M -
画面の最下行に移動
L -
ファイルの最終行に移動
G -
ファイルのn行目に移動
nG -
行の頭へ移動
0 -
行の最後へ移動
$
入力(入力モードへの切り替え)
-
カーソルの右から入力開始
a -
行末から入力開始
A -
カーソルの左から入力開始
i -
行頭から入力開始
I -
現在の行の下に1行挿入し、その行頭から入力開始
o -
現在の行の上に1行挿入し、その行頭から入力開始
O
削除
-
カーソル上の1文字削除
x -
カーソルの左の文字を1文字削除
X -
現在の行を削除(バッファにコピーされる)
dd -
n 行、削除
ndd -
カーソル上の一語を削除
dw -
カーソル位置から指定した字 までを削除
df 字 -
カーソル位置から行の最後までを削除
d$ -
カーソル位置から行の先頭までを削除
d^
検索
-
文字列 を検索する
/<文字列> -
文字列を検索する(逆方向)
?<文字列> -
順方向へ検索する
n -
逆方向へ検索する
N
置換
-
カーソル上の1文字を他の1文字に置換
r -
カーソル上の文字からEscが押されるまでの文字列を置換
R -
カーソルのある1文字を他の文字列で置換
s -
現在の行を他の文字列で置換
S -
カーソル位置からこの語の最後までを置換
cw -
カーソル位置から指定した字 までを置換
cf 字 -
カーソル位置から行の最後までを置換
C -
直前のsコマンドの繰り返し
:&, & -
大文字/小文字を変更する
~ (チルダ)
カット&ペースト
-
現在の行をバッファにコピー
yy -
n 行分をバッファにコピー
nyy -
単語をバッファにコピー
yw -
バッファ内のテキストを挿入(文字、単語はカーソルの右に、行は現在の行の下に挿入される)
p -
バッファ内のテキストを挿入(挿入位置はpの逆。文字、単語はカーソルの左に、行は現在の行の上に挿入される)
P
Undo・Red
-
直前の操作を取りやめる
u -
行全体の操作を取りやめる
U -
直前の操作の繰り返し
.
終了
-
保存して終了
ZZ -
上書き保存
:w(Enter) -
名前を付けて保存
:w ファイル名(Enter) -
保存して終了
:wq(Enter) -
保存せずに終了
:q!(Enter) -
終了
:q(Enter要) -
ファイルを開く
:e ファイル名(Enter要)
参考
http://www.ritsumei.ac.jp/~tomori/vi.html
http://hp.vector.co.jp/authors/VA016670/unix/vi_reference.html
おわりに
他にも、コマンドはありますが、個人的によく使うコマンドのみを抜き出して、まとめました。