viエディタって?
- UNIX系システムにおいて利用可能な、強力で軽量なテキストエディタ
- viの基本操作や便利なコマンドについてまとめる
基本操作モード
viには大きく分けて以下の3つのモードがある;
-
コマンドモード
- ファイルの操作(保存、終了など)やテキスト編集に使用するモード
- 起動時はこのモードから始まる
- 移動や削除、コピーなどの補助操作もここで行う
-
挿入モード(編集モード)
- テキストを直接編集するモード
-
i
、a
、o
などのコマンドでこのモードに移行
-
コマンドラインモード
-
:
を入力することで起動 - ファイル保存や検索、終了などの操作を行う
-
起動方法
viエディタは以下のコマンドで起動する
vi [ファイル名]
例: vi sample.txt
基本的な操作
モード移行
コマンド | モード | 説明 |
---|---|---|
i |
挿入モード | カーソル位置から入力開始 |
a |
挿入モード | カーソルの次の文字から入力開始 |
o |
挿入モード | カーソル位置の次行に新しい行を挿入 |
Esc |
コマンドモード | 挿入モードから抜ける |
移動コマンド
コマンド | 説明 |
---|---|
h |
カーソルを左へ移動 |
l |
カーソルを右へ移動 |
k |
カーソルを上へ移動 |
j |
カーソルを下へ移動 |
w |
次の単語へ移動 |
b |
前の単語へ移動 |
gg |
ファイルの先頭へ移動 |
G |
ファイルの末尾へ移動 |
テキストの編集
コマンド | 説明 |
---|---|
x |
カーソル位置の文字を削除 |
dd |
カーソル行を削除 |
yy |
カーソル行をコピー |
p |
コピーした内容を貼り付け |
u |
操作の取り消し |
Ctrl+r |
操作のやり直し |
ファイルの保存・終了
コマンド | 説明 |
---|---|
:w |
ファイルを保存 |
:q |
viを終了 |
:wq |
保存して終了 |
:q! |
保存せずに終了 |
検索と置換
コマンド | 説明 |
---|---|
/文字列 |
ファイル内で文字列を検索 |
?文字列 |
ファイル内で文字列を逆方向に検索 |
:s/検索/置換/ |
カーソル行で検索文字を置換 |
:%s/検索/置換/g |
ファイル全体で検索文字をすべて置換 |
よく使う応用コマンド
範囲指定した操作
コマンド | 説明 |
---|---|
:set number |
行番号を表示 |
:set nonumber |
行番号を非表示 |
:!コマンド |
シェルコマンドを実行 |
実践Tips
- 行番号を表示させることで、長いファイルを楽に操作できる
- 作業途中で誤操作を起こした場合は、
u
コマンドで取り消し