本記事の構成および論理分析にはAI(人工知能)を使用しています。情報の正確性は、システム管理者(UNIXユーザー)による手動検証済みです。
第8回 vi 入門|検索コマンド(/・n・N)の基本と高速移動のコツ|UNIX Cafe

vi 入門 | 第8回
探したい場所へすっと届く「vi 検索コマンド」の基本
長い文章や設定ファイルを開いていると、目的の場所を目で探すだけでも意外と時間がかかります。そんなとき、vi では検索を使うことで、必要な場所へすばやく移動できます。
今回のゴールは、/ n N を使って、探したい場所へ迷わずたどり着けるようになることです。どれもシンプルな操作ですが、組み合わせると移動の速さが一気に変わります。
動画で流れを先に見たい方は、UNIX Cafe の YouTube もあわせてどうぞ。記事と同じく、初心者向けのやさしい流れで vi の操作を確認できます。
📝 この記事で学べること
/wordでファイル内を前方向に検索する方法nで次の候補へ、Nで前の候補へ移動する方法- 検索後のハイライトを消す方法(
:noh) ?wordで後方向に検索する方法- 検索が便利になる場面と実際の操作例
検索は言葉を手がかりに移動する操作
vi の検索は、文字列を見つけるだけでなく、その場所へカーソルを移動する操作でもあります。設定ファイルで特定の項目を探したり、長い文章の中から目印になる語を見つけたりするときに、検索コマンドを知っているだけで移動の手間がぐっと減ります。
検索コマンドは h j k l などの移動キーとは異なり、文字列を指定してジャンプするのが特徴です。ファイルが長くなるほど、その便利さが分かりやすくなります。
/word で前方向に検索する
コマンドモードで /(スラッシュ)を押すと、画面下部に入力欄が開きます。そこに探したい文字列を入力して Enter を押すと、カーソルがその場所へジャンプします。
/word(検索したい文字列)+ Enterたとえば、次のようなファイルの中から「banana」を探したい場合、/banana と入力して Enter を押します。
apple
orange
banana
grape
banana
melonカーソルが最初の「banana」の行へ移動します。一致した文字列はハイライト(強調表示)されるので、どこに見つかったかが一目で分かります。
💡 検索はファイルの先頭から末尾へ向かって探します
ファイルの末尾まで検索して見つからない場合、先頭へ折り返して続けて探します。一周して最初の一致箇所に戻ると search hit BOTTOM, continuing at TOP と表示されます。
n で次の候補へ、N で前の候補へ移動する
同じ文字列がファイルの中に複数ある場合、n と N を使って候補間を移動できます。
n : 次の一致箇所へ進む(検索方向と同じ向き)
N : 前の一致箇所へ戻る(検索方向と逆向き)先ほどの例で /banana を検索すると、最初の「banana」(3行目)にカーソルが移動します。そこから n を押すと、次の「banana」(5行目)へジャンプします。N を押すと、ひとつ前の「banana」(3行目)へ戻ります。
n と N を使いこなすと、同じ語が繰り返し登場するファイルでも、目的の箇所へ素早く移動できるようになります。
💡 ?word で後方向に検索できます
/ がカーソルより後ろ(ファイルの末尾方向)へ向かって検索するのに対し、?(クエスチョンマーク)はカーソルより前(ファイルの先頭方向)へ向かって検索します。?banana と入力すると、カーソルの上にある「banana」を探せます。このとき n は前の候補へ、N は次の候補へと方向が逆になります。
検索後のハイライトを消す::noh
検索を実行すると、一致した文字列がハイライト表示されたままになります。確認が終わって見づらく感じたときは、:noh を使うと消せます。
:noh : 検索ハイライトを消す(no highlight の略):noh を実行してもファイルの内容は変わりません。画面上のハイライトが消えるだけなので、安心して使えます。次に / で新しい検索をすると、ハイライトが再び表示されます。
長いファイルほど検索が効いてくる
検索コマンドが特に役立つ場面をまとめると、次のとおりです。
- 長い文章の中から特定の語を探したいとき
- 設定ファイルの特定の項目へ移動したいとき
- ログファイルの中からエラーメッセージを探したいとき
- 同じ変数名がある行を順番に確認したいとき
短いファイルでは移動キーだけで十分なことも多いですが、100行を超えるような設定ファイルやログでは、検索なしでの編集は時間がかかります。
実際に試してみよう
次の流れを、ターミナルで実際に試してみましょう。
vi practice.txtでファイルを開き、「apple orange banana grape banana melon」を各行に入力してEscを押す/bananaと入力してEnterを押す(最初の「banana」へジャンプする)nを押して次の「banana」へ移動するNを押してひとつ前の「banana」へ戻る:nohと入力してハイライトを消す:wqで保存して終了する
/banana # 「banana」を前方向へ検索
n # 次の「banana」へ
N # 前の「banana」へ戻る
:noh # ハイライトを消す
:wq # 保存して終了この流れを一度体験するだけで、/ n N の組み合わせが自然に使えるようになります。
まとめ|遠い場所へ行くなら検索が自然
✔ この記事のまとめ
/wordでコマンドモードから前方向へ検索できる。Enterで最初の一致箇所へジャンプするnで次の候補へ、Nで前の候補へ移動できる?wordを使うと後方向(ファイルの先頭方向)へ検索できる- 検索後のハイライトは
:nohで消せる。ファイルの内容は変わらない - 長いファイルほど、検索コマンドの便利さが実感しやすくなる
検索コマンドは、覚えた瞬間から移動の速さが変わります。まずは /word と n の2つだけ試してみましょう。「あの行はどこだったか」と目で探す時間が、ぐっと短くなるはずです。
次回予告
次は、「vi 置換コマンド」の使い方を見ていきます。探したい場所へ届くようになると、その場で文字列をまとめて直したくなります。検索と置換を組み合わせると、編集の流れがさらにスムーズになります。
あわせて読みたい
移動の基本をもう一度確認したい方は、「vi 移動コマンド」の基本もあわせてどうぞ。









