Vim は現在のカーソル位置からパターンを検索します。ノーマルモードで前方または後方の検索を入力し、その後はパターンを再入力せずに一致箇所を繰り返し移動できます。
高度なテキスト操作 · レッスン 4
Vim 検索パターン
Vim で前方または後方を検索し、パターンの一致を繰り返す、調整する、ハイライトを消す方法を学びます。
前方を検索する
ノーマルモードで / を入力し、パターンを入力して Enter を押します。Vim はカーソルより後にある次の一致へ移動します。
/pretty
検索には Vim の正規表現構文が使われるため、.、*、[、\ などの文字は特別な意味を持つことがあります。パターンの残りを very nomagic として扱うには先頭に \V を付けるか、特殊文字を意図的にエスケープしてください。
ノーマルモードから pretty の前方検索を始めるコマンドはどれですか?
後方を検索する
? を入力し、パターンを入力して Enter を押すと、カーソルより前にある一致へ移動します。
?pretty
これは本質的に「ファイル内の最後の一致」を意味しません。結果は現在のカーソル位置によって決まります。Vim の既定の wrapscan 設定では、検索が先頭または末尾で折り返すことがあります。:set nowrapscan で折り返しを無効にできます。
カーソルから前にあるテキストを探すノーマルモードの検索接頭辞はどれですか?
検索を繰り返す
どちらの検索を行った後でも、次のキーを使えます。
nを押すと、元の検索方向に繰り返すNを押すと、反対方向に繰り返す
したがって、/pretty の後では n が前方、N が後方へ移動します。?pretty の後では n が後方、N が前方へ移動します。
?error を実行した後、同じ後方へ検索を繰り返すキーはどれですか?
カーソル下の単語を検索する
ノーマルモードでカーソルを単語の上に置き、次を使います。
*:その単語全体を前方へ検索する#:その単語全体を後方へ検索する
これらのコマンドは直近の検索パターンを設定するため、n と N で検索を続けられます。
カーソル下の単語全体を前方へ検索するノーマルモードのキーはどれですか?
大文字と小文字、ハイライトを制御する
Vim のオプションで大文字と小文字の扱いを変更できます。
:set ignorecase:検索で大文字と小文字を区別しない:set smartcase:ignorecaseも有効なとき、パターンに大文字があれば大文字と小文字を区別する- パターン内の
\c:その検索で大文字と小文字を区別しない \C:その検索で大文字と小文字を区別する
たとえば /\cerror は、現在の大文字と小文字のオプションにかかわらず、error、Error、ERROR に一致します。
検索のハイライトが有効な場合、:nohlsearch は検索パターンを削除せず、現在の視覚的なハイライトだけを消します。次の検索や繰り返しで、一致箇所が再びハイライトされます。
現在の設定にかかわらず、error の 1 回の Vim 検索で大文字と小文字を区別しないパターンはどれですか?
管理されたファイルで Vim の移動と検索を練習するには、次のハンズオンラボを利用してください。
- **Vim と Nano で Linux のテキストファイルを編集する**:Vim と Nano でテキストファイルの作成、編集、保存、移動を練習します。
レッスン完了
Vim 検索パターン を完了しました
これで、Vim のバッファーを検索し、一致箇所の間を予測どおりに移動できるようになりました。
/で前方検索、?で後方検索を始める。nで同じ方向、Nで反対方向へ検索を繰り返す。*または#でカーソル下の単語全体を検索する。1 つのパターンまたはオプションで大文字と小文字の扱いを制御する。
現在の検索パターンを失わず、ハイライトを消す。