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)へのエイリアスになっていることが多く、より高機能になっている。ただし、基本的な操作は同じ。
