はじめに
Vimとそれに対応する古いViは、広く使用されているテキストエディタです。どちらもオープンソース(無料)であり、ほとんどのLinuxおよびmacOSディストリビューションで利用できます。
Vim / Viで単語やパターンを検索することは、大きなファイルを簡単にナビゲートできる一般的なタスクです。
このチュートリアルでは、実際の例を使用してVim/Viで検索する方法を示します。

重要 :通常モードになっていることを確認してください 検索を開始する前に。これにより、通常のエディタコマンドを使用しながらテキスト内を移動できます。 ViとVimはデフォルトで通常モードでファイルを開きます。
通常モードに切り替えるには、 Escを押します。 。
Vim/Viでの基本的な検索
Vim/Viテキストエディタで数字や文字のパターンを検索する方法は2つあります。
1.指定されたパターンを前方に検索します
2.指定されたパターンを逆方向に検索します
方向はカーソル位置に関連して決定されます。
単語の次の結果を前方に検索
前方に検索するには 、次のコマンドを使用します:
/pattern
pattern
を置き換えます あなたが見つけたいアイテムで。
たとえば、パターンのすべてのインスタンスを検索するには "root" 、あなたは:
1. Escを押します Vim/Viが通常モードになっていることを確認します。
2.次のコマンドを入力します:
/root
テキストエディタは、カーソルの後のパターンの最初のインスタンスを強調表示します。下の画像では、結果が指定されたパターンを含む単語の一部であることがわかります。これは、コマンドが単語全体を検索するように指定していないためです。

この位置から、 Enterを選択します および:
-
n
を使用して、同じ方向にパターンの次のインスタンスにジャンプします -
N
を使用して、パターンの次のインスタンスに反対方向にスキップします
単語を後方に検索する
逆方向に検索する タイプ:
?pattern
pattern
を置き換えます あなたが見つけたいアイテムで。
たとえば、パターンのすべてのインスタンスを検索するには "nologin" 、あなたは:
1. Escを押します Vim/Viが通常モードになっていることを確認します。
2.次のコマンドを入力します:
?nologin
Vim / Viは、カーソルの前にある指定されたパターンの最初のインスタンスを強調表示します。

Enterを押します 検索を確認します。次に、次のことができます。
-
n
を使用して同じ方向にパターンの次のインスタンスに移動します -
N
を使用して、パターンの次のインスタンスに反対方向にジャンプします
現在の単語の検索
現在の単語は、カーソルが置かれている単語です。
パターンを指定してVim/Viにそれを見つけるように促す代わりに、カーソルを単語に移動し、その単語の次のインスタンスを見つけるように指示します。
1.まず、 Esc を押して、通常モードになっていることを確認します 。
2.次に、カーソルを目的の単語に移動します。
3.ここから、次のことができます。
-
*
を使用して単語の次のインスタンスを検索します -
#
を使用して単語の前のインスタンスを検索します
*
を押すたびに または#
カーソルが次/前のインスタンスに移動します。
単語全体の検索
単語全体を検索するには、次のコマンドを使用します:
/\<word\>
テキストエディタは、コマンドで指定されたとおりに最初の単語全体のみを強調表示します。

特定の単語でファイルを開く
Vim(およびVi)は、指定された単語でファイルを開くことができるため、ステップをスキップして、検索された用語に直接移動できます。
特定の単語でファイルを開くには、次のコマンドを使用します:
vim +/word [file_name]
または
vi +/word [file_name]
たとえば、 / etc / passwdを開くには 「ルート」という用語を最初に使用するファイル 、次のコマンドを使用します:
vim +/root /etc/passwd
テキストエディタがファイルを開き、表示される最初の行は "root"という用語を含む行です。 、下の画像のように。

大文字と小文字を区別しない検索
デフォルトでは、ファイル内を検索するときにVi(m)で大文字と小文字が区別されます。たとえば、 /user
という用語を検索した場合 大文字のUを使用した結果は表示されません (つまり、ユーザー 。
Vim/Viで大文字と小文字を区別しないようにする方法はいくつかあります。
- 大文字と小文字を区別しない属性で指定された単語を検索するには、次のコマンドを実行します。
/\<word\>\c
\c
属性は、大文字小文字を無視してすべての結果を表示するようにVi(m)に指示します。
- 別の方法は、すべての検索のセッション全体で大文字と小文字を区別しないようにVimを設定することです。これを行うには、次のコマンドを実行します。
:set ignorecase
- 最後に、テキストエディタの構成ファイルを変更して、大文字と小文字を完全に無視することができます。 〜/ .vimrcを開きます ファイルを作成し、
:set ignorecase
という行を追加します 。
検索結果を強調表示
Vi(m)には、ファイル内の検索結果を強調表示する便利な機能があります。強調表示を有効にするには、テキストエディタで次のコマンドを入力します。
:set hlsearch
この機能を無効にするには:
:set !hlsearch
検索履歴
Vi(m)は、セッションで使用された検索コマンドを追跡します。 ?
と入力して、以前に使用したコマンドを参照します または/
upを使用します およびダウン キー。