escキーを押してコマンドモードにする
起動
viフォアグラウンド起動 vi <ファイル名>ファイルを読み込んで起動
終了
:q終了
:wq保存して終了
:q!保存せずに強制終了
ZZ終了(内容が変更された場合は保存して終了)
モード移行
ESCコマンドモードへ移行
iカーソルの左隣へ挿入
aカーソルの右隣へ挿入
Iカーソル行の先頭に挿入
Aカーソル行の末尾に挿入
Oカーソル行の上に1行空けて挿入
oカーソル行の下に1行空けて挿入
カーソル操作
h1文字左へ
j1行下へ
k1行上へ
l1文字右へ
0カーソル行の左端へ
^行頭(行頭が空白の場合は空白部分の右)へ
$行末へ
-1行上の左端へ
RETURN1行下の左端へ
b左隣の単語の先頭へ
w右隣の単語の先頭へ
e単語の末尾へ
カーソル位置が単語の途中の場合はその単語の末尾
カーソルが単語末尾なら次の単語の末尾
カーソルが行末なら次行先頭の単語の末尾
H画面最上行の左端へ
M画面中央行の左端へ
L画面最下行の左端へ
nGファイルの先頭からn行目の左端へ
画面操作
C-f1ページ分下に画面を移動
C-b1ページ分上に画面を移動
C-d半ページ分下に画面を移動
C-u半ページ分上に画面を移動
C-l画面を再描画
C-g行番号を表示
検索
/<文字列><文字列>を順方向に検索
f<文字><文字>を順方向に検索
?<文字列><文字列>を逆方向に検索
F<文字><文字>を逆方向に検索
n順方向に検索を再実行
N逆方向に検索を再実行
削除
xカーソル上一文字削除
Xカーソル左一文字削除
ddカーソル行削除
dwカーソル位置から現単語末尾まで削除
df<文字>カーソル位置から<文字>の位置まで削除
d^カーソル位置から左削除
d$カーソル位置から右削除
置換
rカーソル上一文字置換
Rカーソル位置から複数文字置換
sカーソル上一文字を複数文字に置換
rカーソル行全体を置換
ccカーソル行全体を置換
cwカーソル位置から現単語置換
cf<文字>カーソル位置から<文字>の位置まで置換
貼付け
ywカーソル位置の単語をコピー
yyカーソル行をコピー
Pカーソル行の上にペースト(xやddで削除したものもペーストできる)
pカーソル行の下にペースト(xやddで削除したものもペーストできる)
ファイル操作
:e <ファイル名><ファイル名>を読込む
:r <ファイル名>カーソル行の下に<ファイル名>の内容を挿入
:w上書保存
:w <ファイル名>編集中のデータを<ファイル名>のファイルに保存
その他
.直前のコマンド繰返し
u直前に実行したコマンドの取り消し
Uカーソル行に対して行った変更を全部取消す
:!cmdシェルコマンドの実行
!!cmdコマンドを実行し,その結果を挿入
:shellシェルを呼び出す。exitなどでシェルを抜ければviに戻る
:set number行番号を表示
:set nonumber行番号表示を止める
:hヘルプ表示
:viusage [<コマンド>]viコマンドモードのコマンド一覧表示。<コマンド>を付加するとそのコマンドの説明を表示。
:exusage [<コマンド>]
exコマンドモードのコマンド一覧表示。<コマンド>を付加するとそのコマンドの説明を表示。