viエディタとは、LinuxなどのUnix系OSに搭載されているテキストエディタ。
root権限がないと編集できないファイルを編集するときに、とても役に立つ。
起動
vi ファイル
で、viエディタを起動し、ファイルを開く。
dirフォルダのfilenameを開く場合。
vi dir/filename
3つのモード
viエディタは、3つのモードに分けて捉えるとわかりやすい。
- 編集モード
-
移動、コピー、削除、検索、検索置換など編集を行うモード。
-
起動直後は編集モード。
- 入力モード
-
文字の入力を行うモード。
- コマンドモード
-
保存、新規作成、終了などを行うモード。
編集モード
- x
-
カーソル位置の文字を切り取り。
- dd
-
カーソルがある行を削除。
- yy
-
カーソルがある行をコピー。
- p
-
カーソル位置へ貼り付け。
- P
-
カーソル位置の後ろへ貼り付け。
- u
-
直前の操作の取り消し。
- .
-
直前の操作の繰り返し。
- /hoge
-
カーソル位置より後のテキストから、hogeを検索し、移動。
- n
-
次の候補を検索し、移動。
- N
-
前の候補を検索し、移動。
-
hogeには、正規表現が使える。
- ?hoge
-
カーソル位置より前のテキストから、hogeを検索し、移動。
- n
-
次の候補を検索し、移動。
- N
-
前の候補を検索し、移動。
-
hogeには、正規表現が使える。
- $s/hoge1/hoge2/g
-
hoge1をhoge2に置換。
-
hoge1には、正規表現が使える。
- $s/hoge1/hoge2/cg
-
hoge1をhoge2に確認[y/n]しながら置換。
-
hoge1には、正規表現が使える。
- :$
-
ファイルの最後へカーソルを移動。
- :n
-
n行目へカーソルを移動。
- Ctrl+f
-
次の画面へスクロール。
- Ctrl+b
-
前の画面へスクロール。
まだ他にもあるが、よく使うのはこのぐらい。
入力モード
下記のコマンドで、編集モードから入力モードへ切り替わる。
- a
-
カーソル位置の右側から文字を入力。
- i
-
カーソル位置の左側から文字を入力。
- o
-
カーソルがある行の下に行を挿入し、文字を入力。
- O
-
カーソルがある行の上に行を挿入し、文字を入力。
- ESC
-
入力モードから編集モードへ切り替え。
コマンドモード
- :w
-
保存。
- :w name
-
名前を指定して保存。
- ZZ
-
保存終了。
- :e filename
-
filenameというファイルを新規作成。
- :q
-
viエディタ終了。
- :q!
-
保存せずにviエディタ終了。