viの使い方は、「コマンドモード」と「入力モード」という2つのモードを切り替えて操作する。
テキストを入力するには入力モードに切り替え、ファイル保存などの操作をするにはコマンドモードに戻る。
1. viの起動と基本モード
viを起動する
ターミナルでvi
コマンドに続けてファイル名を入力。ファイルが存在しない場合は新規作成される。
vi ファイル名
viの2つのモード
- コマンドモード: viを起動した直後の状態で、カーソル移動やファイルの保存・終了のコマンドを実行。
- 入力モード :キーボードで入力した文字がそのままファイルに書き込まれる。
2. 主要な操作コマンド
入力モードへの切り替え(コマンドモードから)
i
: カーソルがある位置の直前から入力を開始。a
: カーソルがある位置の直後から入力を開始。o
: カーソルがある行の次の行に新しい行を追加して入力を開始。
コマンドモードへの切り替え(入力モードから)
Esc
キー: 入力モードを終了し、コマンドモードに戻る。
カーソル移動(コマンドモードで)
h
: 左へ移動j
: 下へ移動k
: 上へ移動l
: 右へ移動
編集操作(コマンドモードで)
x
: カーソル位置の1文字を削除。dd
: カーソルがある行を削除。dw
: カーソル位置から単語の終わりまでを削除。u
: 直前の操作を取り消し。yy
: カーソルがある行をコピー。p
: コピーまたは削除した行をカーソルの下に貼り付ける。P
: コピーまたは削除した行をカーソルの上に貼り付ける。
ファイルの保存と終了(コマンドモードで)
コマンドモードの状態で:
(コロン)を押すと、画面下部にコマンド入力待ちの状態になる。
:w
: 変更を保存。:q
: viを終了。:wq
: 変更を保存して終了。:q!
: 変更を破棄して強制終了。ZZ
: 変更を保存して終了(Shift
+z
を2回押す)。
3. 操作のヒント
- モードの確認: 今どちらのモードにいるか分からなくなった場合は、ひとまず
Esc
キーを何度か押す。
これで確実にコマンドモードに戻ることができます。 - 繰り返し操作: 削除やコピーなどのコマンドの前に数字を入力すると、指定した回数だけ繰り返すことができる。
- 例:
3dd
で3行削除
- 例:
vi
とvim
: 最近のLinuxディストリビューションでは、vi
コマンドがvim
(vi IMproved)へのエイリアスになっていることが多く、より高機能になっている。ただし、基本的な操作は同じ。