Linuxを使う上で欠かせないテキストエディタの一つが「vi」です。
システム管理やプログラミングの現場では、ターミナル上で設定ファイルを編集する機会が多く、その際に必ずといっていいほどviを利用します。
しかし、viは独特の操作体系を持っており、初心者にとっては「保存の仕方すらわからない…」と戸惑うことも少なくありません。
そこで本記事では、viの基本操作から応用的なコマンドまでを「早見表」としてまとめました。
見やすく整理した一覧に加えて、実際の使い方のポイントや便利なテクニックも解説します。
この記事を読めば、日常的なファイル編集がスムーズになり、Linux操作の効率が格段に上がるでしょう。
viエディタとは?基本概要
viはUnix系OSに標準で搭載されているテキストエディタで、軽量かつ高速に動作するのが特徴です。
viの大きな特徴は「モード切り替え」です。入力モードとコマンドモードを行き来することで、テキスト入力と操作を切り分けて扱います。
- ノーマルモード(コマンドモード): ファイルを操作するモード。カーソル移動やコピー・削除を行う。
- インサートモード: 実際に文字を入力できるモード。
i
やa
で切り替える。 - コマンドラインモード:
:
を押すと移行でき、保存や終了などを実行できる。
このモード切り替えに慣れることが、vi操作を使いこなす第一歩です。
vi操作 早見表(基本編)
まずは最もよく使う基本操作を一覧で確認しましょう。
操作 | コマンド | 説明 |
---|---|---|
viを起動 | vi ファイル名 | 指定ファイルを開く |
保存して終了 | :wq | ファイルを保存して終了 |
保存せず終了 | :q! | 編集内容を破棄して終了 |
保存のみ | :w | ファイルを保存する |
挿入開始 | i | カーソル位置で入力開始 |
行頭から入力 | I | 行の先頭で入力開始 |
カーソル移動 | h j k l | 左・下・上・右へ移動 |
行削除 | dd | カーソル行を削除 |
単語削除 | dw | カーソル位置から単語を削除 |
コピー | yy | 行をコピー |
ペースト | p | コピーまたは削除した内容を貼り付け |
検索 | /文字列 | ファイル内を検索 |
置換 | :%s/旧/新/g | ファイル全体で置換 |
この表を覚えるだけでも、viを日常的に使うための最低限の操作は網羅できます。
モード切り替えを理解する
viの操作で最初に挫折するポイントが「モード切り替え」です。
例えば、ファイルを開いてすぐに文字を入力しようとしても反応がないのは、ノーマルモードにいるためです。
- 文字を打ちたい →
i
でインサートモードへ - 操作したい →
Esc
でノーマルモードへ戻る
この流れを自然に使えるようになれば、viが一気に使いやすくなります。
カーソル移動の早見表
カーソル移動もviの強みです。方向キーでも動かせますが、効率的には以下を覚えると便利です。
コマンド | 動作 |
---|---|
h | 左へ移動 |
l | 右へ移動 |
0 | 行頭へ移動 |
$ | 行末へ移動 |
w | 次の単語の先頭へ |
e | 単語の末尾へ |
G | ファイルの末尾へ |
gg | ファイルの先頭へ |
H | 画面の先頭行へ |
M | 画面の中央行へ |
L | 画面の最終行へ |
大きなファイルを編集する時に威力を発揮するので、必ず覚えておきたいコマンドです。
編集操作の早見表(削除・コピー・貼り付け)
テキスト編集の要となる削除・コピー・貼り付け操作をまとめました。
操作 | コマンド | 説明 |
---|---|---|
行削除 | dd | カーソル行を削除 |
行コピー | yy | カーソル行をコピー |
貼り付け | p | コピー/削除した内容をカーソルの後に挿入 |
単語削除 | dw | 単語を削除 |
単語コピー | yw | 単語をコピー |
文字削除 | x | カーソル位置の1文字削除 |
文字置換 | r + 文字 | カーソルの文字を置換 |
コピーと削除が同じ「ヤンクバッファ」に保存される点も覚えておくと便利です。
検索と置換の早見表
大きな設定ファイルを扱う際に欠かせないのが検索と置換です。
操作 | コマンド | 説明 |
---|---|---|
前方検索 | /文字列 | 下方向に検索 |
後方検索 | ?文字列 | 上方向に検索 |
次の一致 | n | 同じ方向に再検索 |
前の一致 | N | 逆方向に再検索 |
単語置換 | :s/旧/新/ | 行内の最初の一致を置換 |
行内全置換 | :s/旧/新/g | 行内のすべてを置換 |
ファイル全体置換 | :%s/旧/新/g | 全ファイルで置換 |
確認付き置換 | :%s/旧/新/gc | 置換時に確認あり |
設定ファイルの修正作業ではほぼ必須の機能です。
vi操作を効率化する小技
- 番号指定で行移動:
:10
と入力すれば10行目へ移動可能。 - 複数行削除:
3dd
で3行分削除。 - 複数行コピー:
5yy
で5行コピー。 - 複数行貼り付け: コピー後に
p
を押すだけ。 - Undo/Redo:
u
で取り消し、Ctrl + r
でやり直し。
これらを組み合わせれば、複雑な編集も数秒で完了します。
よくあるつまずきと解決策
- 「入力できない!」
→ インサートモードに入っていない可能性あり。i
を押してから入力。 - 「保存できない!」
→ コマンドラインモードに入っていない可能性あり。Esc
→:wq
で保存終了。 - 「間違って削除してしまった!」
→u
で直前の操作を取り消せる。 - 「カーソル移動が遅い!」
→ 数字指定で繰り返し操作が可能(例:10j
で10行下へ)。
まとめ
viは最初は難しく感じるものの、操作体系を早見表で整理して覚えれば非常に強力なツールになります。
- モード切り替えの理解
- カーソル移動・編集操作の習得
- 検索・置換の活用
これらを意識して使い込むことで、Linux操作の効率は大幅にアップします。
システム管理や開発の現場で欠かせないスキルなので、ぜひ早見表を活用しながら日常的に練習してみてください。