
新Linux入門|viエディタの検索機能と設定コマンド活用法
viエディタは、単なるテキストエディタではありません。
ファイル内の文字列を素早く検索したり、表示設定を自分好みにカスタマイズしたりできる、非常に強力なツールです。
今回は、vi の検索機能と設定コマンド(setコマンド)の活用法について詳しく見ていきましょう。

🕵️ 文字列を検索する:/ コマンドの基本
viでは、ファイル内の文字列を検索するには 「/」 を使います。
コマンドモードで /検索文字列 と入力すると、指定した語句を探してくれます。
| コマンド | 説明 |
|---|---|
| /検索文字列 | 指定した文字列を下方向に検索 |
| ?検索文字列 | 指定した文字列を上方向に検索 |
| n | 次の検索結果に移動 |
| Shift + n | 前の検索結果に戻る |
📘 使用例
[suzuki@AlmaLinux ~]$ vi /etc/services- Escキーでコマンドモードに切り替える
/nameと入力して Enter- 「name」という文字列がある箇所にジャンプ
検索結果の例
(略)
rlp 39/udp resource # resource location
nameserver 42/tcp name # IEN 116
nameserver 42/udp name # IEN 116
nicname 43/tcp whois
nicname 43/udp whois
tacacs 49/tcp # Login Host Protocol (TACACS)
tacacs 49/udp # Login Host Protocol (TACACS)
re-mail-ck 50/tcp # Remote Mail Checking Protocol
re-mail-ck 50/udp # Remote Mail Checking Protocol
domain 53/tcp # name-domain server
domain 53/udp
(略)
| コマンド | 説明 |
|---|---|
| /検索文字列 | 指定した文字列を検索 |
| n | の検索結果に移動 |
| Shift + n | 前の検索結果に逆方向に移動 |
このように、name に一致する単語が順にハイライトされ、
n を押すと次の一致箇所、Shift + n で前の一致箇所に戻ることができます。
💡 Tip
/を使うと 前方検索?を使うと 後方検索
方向を間違えた場合も、n と Shift + n でスムーズに移動できます。
🎨 setコマンドでviの動作をカスタマイズ
viでは、:set コマンド を使うことで表示や動作を細かく設定できます。
特に便利なのが「行番号の表示」や「インデント」「検索ハイライト」などの設定です。
🧾 行番号を表示する
設定ファイルの編集時に、どの行を修正しているかを明確にしたいときは、行番号を表示すると便利です。
| コマンド | 説明 |
|---|---|
| :set number | 行番号を表示する。 |
| :set nonumber | 行番号を非表示にする。 |
📘 使用例
:set numberすると、以下のように行番号付きで表示されます。
1 # /etc/services:
2 # Network services, Internet style
3 # IANA services version: last updated 2013-04-10
4 domain 53/tcp # name-domain server
5 domain 53/udpもう一度非表示にしたい場合は、:set nonumber と入力します。
⚙️ setコマンドの代表的な設定一覧
以下は、よく使われる :set コマンドの例です。
これらを組み合わせることで、自分にとって最も使いやすい編集環境を作ることができます。
| コマンド | 説明 |
|---|---|
| :set number | 行番号を表示する。 |
| :set nonumber | 行番号を非表示にする。 |
| :set autoindent | 自動インデントを有効にする(コード整形に便利) |
| :set tabstop=4 | タブ幅を4文字に設定する。 |
| :set ts=<文字数> | タブ幅を任意の数値で設定する(例::set ts=8) |
| :set hlsearch | 検索語をハイライト表示する。 |
| :set nohlsearch | ハイライトを無効にする。 |
| :set list | 改行やタブなどの不可視文字を表示する。 |
| :set nolist | 不可視文字を非表示にする。 |
| :set background=dark | ダークテーマ向けの配色に切り替える。 |
| :set background=light | ライトテーマ向けの配色に切り替える。 |
💬 補足
- ts(tabstop)はタブキー1回分の幅を設定します。
- autoindent はソースコード編集時に自動でインデントを維持してくれるので、プログラミングでも重宝します。
- hlsearch は検索語を見逃さないよう強調表示してくれる便利な機能です。
🔍 検索+設定を組み合わせて使う
検索と設定を組み合わせることで、作業効率を大幅に向上させることができます。
📘 例
[suzuki@AlmaLinux ~]$ vi /etc/services- /ssh で "ssh" を検索
- :set hlsearch でハイライトを有効化
- 一致する箇所がすべて黄色で強調される
- 編集が終わったら :set nohlsearch でハイライト解除
このように、setコマンドを上手に組み合わせれば、viをより「見やすく」「使いやすく」カスタマイズできます。
✅ まとめ
viエディタの検索機能と設定コマンドは、
慣れるとファイル編集のスピードと効率を劇的に向上させてくれる便利な機能です。
| 機能 | コマンド | 説明 |
|---|---|---|
| 文字列検索 | /文字列 | 下方向に検索 |
| 検索移動 | n / Shift + n | 検索結果を順方向・逆方向に移動 |
| 行番号設定 | :set number / :set nonumber | 行番号を表示・非表示 |
| ハイライト設定 | :set hlsearch / :set nohlsearch | 検索結果を強調表示・解除 |
| インデント | :set autoindent | コード整形を自動化 |
| タブ幅設定 | :set ts=4 | タブの表示幅を変更 |
💬 最後に
viはカスタマイズ次第でまったく別物の操作感になります。
自分の好みに合わせて設定を調整し、検索機能を組み合わせることで、
「速く・正確に・見やすく」編集できるプロの環境を作り上げましょう。
