Vi とは?
UNIX 系のOSでよく使われているテキストエディタです。
shell
# Vi で test.txt を開く
vi test.txt モード
Vi には、入力モードとコマンドモードがあります。
入力モードにするには、キーボードの「 i 」のキーを押します。
コマンドモードにするには「 Esc 」のキーを押します。
画面の左下に「 -- INSERT -- 」と表示されていれば、入力モードに切り替わっています。
Vi を終了する
Vi を終了するにはコマンドモードにします。
ファイルを「 保存して終了 」するには「 :wq 」と入力します。
ファイルを「 保存しないで終了 」するには「 :q! 」と入力します。
コマンドモード
| コマンド | 説明 |
| x | カーソルの文字を削除 |
| dd | 行を削除 |
| D | カーソルがある行の右側の部分を削除 |
| yy | 行のコピー |
| nyy | n 行コピー(nは数字で指定) |
| Y | 行のコピー |
| p | カーソルがある行の下に挿入 |
| P | カーソルがある行の上に挿入 |
| u | カット、ペーストを一回取り消し |
| / | 文字列の検索。/ の後に検索したい文字を入力 |
| G | ファイルの最終行にジャンプ |
| 1G | ファイルの先頭行にジャンプ |
| 5G | 5行目にジャンプ |
| h | 左に移動 |
| j | 下に移動 |
| k | 上に移動 |
| l | 右に移動 |
検索
| コマンド | 内容 |
|---|---|
| /検索文字列 | 文字列の検索 |
| n | 下方向へ検索 |
| N | 上方向へ検索 |
コマンドモードで「 /検索したい文字列 」で検索し「 Enter 」を押すとカーソルが文字列へ移動します。
検索した文字列は、n コマンドまたは N コマンドで繰り返し検索できます。
検索した文字列のハイライトを解除するには、「 :noh 」で解除できます。
文字列の置き換え
| コマンド | 内容 |
| :ns/old/new | n 行目の最初の old を new に置換して終了 |
| :ns/old/new/g | n 行目の全ての old を new に置換して終了 |
| :%s/old/new/g | ファイル全体の検索語句を置換する |
| :%s/old/new/gc | 置換の度に確認を求める |