Viの主要なコマンド一覧

Viの主要なコマンド一覧

viの代表的なコマンド一覧です。

viの起動

コマンド 説明
vi [file] 指定したファイルを開く。ファイルが存在しない場合は新規にファイルが作成される。
vi [file1 ... filen] 指定したファイルを全て開く

viの終了

コマンド 説明
:q viを終了する。編集後に保存をしていない場合は警告が出る。
:wq 編集した内容を保存してからviを終了する。Write と Quit の頭文字を取っている
ZZ 「:wq」と同義。必ず大文字を指定する。また先頭にコロンは必要ない。
:q! 編集した内容を保存せずviを強制終了する

コマンドモード

コマンド 説明
ESC(エスケープキー) コマンドモードへ切り替える。入力モードかコマンドモードか分からなくなったら、とりあえずエスケープキーを押せばコマンドモードになることを覚えておくと良い。

カーソル移動

1文字分

コマンド 説明
h 左に移動する
j 下に移動する
k 上に移動する
l 右に移動する
  • 「←↑↓→」の順番にキーが配置されている
  • 最近の vi(m) は矢印キーでの移動に対応しているので、そちらを利用する方が便利だが、古いシステムを担当する時のために知識として覚えておくと良い。

行内でのジャンプ

コマンド 説明
0 現在カーソルがある行の行頭に移動する
$ 現在カーソルがある行の行末に移動する
現在カーソルがある行の行頭に移動する。ただしスペースは無視される

ファイル内でのジャンプ

コマンド 説明
:0 ファイルの先頭に移動する
:$ ファイルの末尾に移動する
:行数 指定の行に移動する。「:150」と入力すれば150行目に移動する

画面のスクロール

コマンド 説明
Ctrl + F 1画面分、下にスクロールする。(Forward)
Ctrl + B 1画面分、上にスクロールする。(Back)
Ctrl + D 0.5画面分、下にスクロールする。
Ctrl + U 0.5画面分、上にスクロールする。
Ctrl + E 1行分、下にスクロールする。
Ctrl + Y 1行分、上にスクロールする。

入力モードへ切り替え

コマンド 説明
i 現在カーソルがある位置から入力を開始する
I カーソルがある行の行頭から入力を開始する
a カーソルがある位置の後ろから入力を開始する
A カーソルがある行の行末から入力を開始する

行の挿入(追加)

コマンド 説明
o(小文字のオー) 現在カーソルのある行の下に1行追加し、入力モードに切り替える
O(大文字のオー) 現在カーソルのある行の上に1行追加し、入力モードに切り替える

削除

コマンド 説明
x カーソル位置の文字を1文字削除する
dd カーソルのある行を削除する
行数dd 指定した行数を削除する。「5dd」なら5行を削除する。カーソルのある位置から下に向かっての行数となる。
d0 カーソル位置から行頭までを削除する
d$ カーソル位置から行末までを削除する

コピー、ペースト

コマンド 説明
p 貼り付けを行う。行単位の貼り付けの場合は、カーソル行の下に貼り付けを行う。「put」の略称。
yy カーソルのある行をコピーする。viではコピーのことを「ヤンク(yank)」という。
y$ カーソル位置から行末までをコピーする

検索

コマンド 説明
/検索する文字列 カーソル行から下に向かって検索を行う
?検索する文字列 カーソル行から上に向かって検索を行う
n 検索を実行後、次の検索候補がある場合は、その結果に移動する。「?」で検索が実行された場合、上に向かって進んでいく。
N 「n」と同じ機能を持つが、逆方向に動作する。

置換

コマンド 説明
:s/検索文字列/置換文字列/g カーソルのある行にある検索文字列を、すべて置換文字列で置き換える。「g」をつけないと最初に見つかった一つだけを置換する。また検索文字列には正規表現を使用することができる。
:%s/検索文字列/置換文字列/g ファイル中にある検索文字列を、すべて置換文字列で置き換える。

やり直し

コマンド 説明
u 直前の操作を取り消す。何度も押すと、押した回数だけ過去にさかのぼって復元する

ファイルを読み込み直す(復帰)

コマンド 説明
:e! 現在の編集内容をすべて破棄し、ファイルを読込直す