前提
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
おわりに
他にも、コマンドはありますが、個人的によく使うコマンドのみを抜き出して、まとめました。