Viエディタは、Linux/Unix環境で広く使用される強力なテキストエディタです。
最大の特徴は、2つの基本モードを使い分けることですが、独特のコマンド体系により初心者にとってはとっつきにくいエディタとして知られています。しかし、一度習得すれば非常に効率的な編集が可能となるため、この記事では基本から実践的な使い方まで徹底解説します。
コマンドモード
入力モード
# ファイルを開く/新規作成
vi ファイル名
# 保存して終了
:wq
# 保存せずに終了
:q!入力モードへの移行:
i – カーソル位置から入力開始a – カーソルの次の位置から入力開始o – 現在の行の下に新しい行を作成して入力開始O – 現在の行の上に新しい行を作成して入力開始基本移動:
h(左), l(右)k(上), j(下)0$高度な移動:
ggG:行番号削除操作:
x – カーソル位置の1文字を削除dd – 現在の行を削除dw – カーソル位置から単語末尾まで削除コピー&ペースト:
yy – 現在の行をコピーp – カーソル位置の後にペーストP – カーソル位置の前にペースト検索:
/検索文字列 – 前方検索?検索文字列 – 後方検索n – 次の検索結果へN – 前の検索結果へ置換:
:%s/old/new/g # ファイル全体でoldをnewに置換
:s/old/new/g # 現在の行でoldをnewに置換操作の取り消し:
u – 直前の操作を取り消しCtrl + r – 取り消した操作をやり直し行番号表示:
set number # 行番号を表示
:set nonumber # 行番号を非表示:q!を使用します3ddで3行削除)Jコマンドを使用しますviewコマンドを使用すると安全です| モード | コマンド | 説明 |
|---|---|---|
| コマンドモード(移動) | h | 左へ移動 |
| l | 右へ移動 | |
| j | 下へ移動 | |
| k | 上へ移動 | |
| 0 | 行頭へ移動 | |
| $ | 行末へ移動 | |
| gg | ファイル先頭へ移動 | |
| G | ファイル末尾へ移動 | |
| コマンドモード(編集) | x | 1文字削除 |
| dd | 行削除 | |
| dw | 単語削除 | |
| yy | 行コピー | |
| p | 貼り付け | |
| u | 取り消し | |
| Ctrl + r | やり直し | |
| コマンドモード(検索) | /文字列 | 前方検索 |
| ?文字列 | 後方検索 | |
| n | 次の検索結果 | |
| N | 前の検索結果 | |
| 入力モードへの切り替え | i | カーソル位置から入力 |
| a | カーソル後ろから入力 | |
| o | 下に行を追加して入力 | |
| O | 上に行を追加して入力 | |
| Exコマンド | :w | 保存 |
| :q | 終了 | |
| :wq | 保存して終了 | |
| :q! | 保存せずに終了 | |
| :set number | 行番号表示 | |
| :s/old/new/g | 現在行の置換 | |
| :%s/old/new/g | ファイル全体の置換 |
vi ファイル名でファイルを開く:wqで保存して終了これらのコマンドを習得することで、Viエディタを効率的に使用することができます。初めは基本的なコマンドから始めて、徐々に上級者向けの機能を習得していくことをお勧めします。