とほほのVim入門(検索)

トップ > Vim > 検索

目次

検索

[N]/Word<Enter> : N個先のWordを検索
[N]?Word<Enter> : N個前のWordを検索
[N]/<Enter> : 直前の検索を進行方向にN回再建策
[N]?<Enter> : 直前の検索を戻る方向にN回再建策
[N]n : 直前の検索をN回繰り返す(Next)
[N]N : 直前の / や ? の検索を逆方向にN回繰り返す
[N]* : N個先の、カーソルがある位置の単語を検索(単語完全一致)
[N]# : N個前の、カーソルがある位置の単語を検索(単語完全一致)
[N]g* : N個先の、カーソルがある位置の単語を検索(単語部分一致)
[N]g# : N個前の、カーソルがある位置の単語を検索(単語部分一致)
/<Up> : 検索履歴を手繰る
/<Down> : 検索履歴を手繰る
Ctrl-c : 入力中の検索をキャンセル

検索のメタ文字

検索では下記の文字は特別な意味を持ちます。正規表現 と似てますが、? の代わりに = を使用する、( ) や | や {2,5} の前にバックスラッシュが必要な点などが異なります。

. : 任意の1文字にマッチ
^ : 行頭にマッチ
$ : 行末にマッチ
\< : 単語の先頭にマッチ
[a-z] : a~z までの1文字にマッチ
[^a-z] : a~z 以外の1文字にマッチ
= : 直前の正規表現が0回または1回出現するものにマッチ
* : 直前の正規表現が0回以上連続で出現するものにマッチ
+ : 直前の正規表現が1回以上連続で出現するものにマッチ
\{2,5} : 直前の正規表現が2回以上5回以下連続で出現するものにマッチ
\(...\) : ...をひとつの正規表現として扱う。(ABC)+ は ABC が1回以上出現するものにマッチ
A\|B : AまたはB。\(ABC\|XYZ\) は ABC または XYZ にマッチ
\≤ : 単語の先頭にマッチ
\< : 単語の末尾にマッチ
\i : 識別子の文字にマッチ
\I : \i から数字を除いたものにマッチ
\k : キーワード文字にマッチ
\K : \k から数字を除いたものにマッチ
\f : ファイル名(で使える)文字にマッチ
\F : \f から数字を除いたものにマッチ
\p : 表示可能文字にマッチ
\P : \p から数字を除いたものにマッチ
\s : 空白文字類にマッチ
\S : 空白文字類以外にマッチ
\e : <Esc>にマッチ
\t : <Tab>にマッチ
\r : <CR>にマッチ
\b : <BS>にマッチ

検索オフセット

検索にオフセットを指定することで、検索にマッチした箇所からカーソルの位置を移動させることができます。例えば、/get/s3 で検索すると、getElement, getFile, getOptions などの単語にマッチし、かつ、get の次の文字にカーソルを合わせることができます。

/reg/3 : マッチした箇所の3行下
/reg/+3 : マッチした箇所の3行下
/reg/-3 : マッチした箇所の3行上
/reg/s : マッチした箇所の先頭 (bも可)
/reg/s3 : マッチした箇所の先頭から3文字進む (b3も可)
/reg/s+3 : マッチした箇所の先頭から3文字進む (b+3も可)
/reg/s-3 : マッチした箇所の先頭から3文字戻る (b-3も可)
/reg/e : マッチした箇所の末尾
/reg/e3 : マッチした箇所の末尾から3文字進む
/reg/e+3 : マッチした箇所の末尾から3文字進む
/reg/e-3 : マッチした箇所の末尾から3文字戻る
/reg1/;/reg2/ : reg1 を検索後さらに reg2 を検索する

検索履歴

下記で過去の検索履歴を参照することができます。

/<Up> : ひとつ前の / 検索の履歴を参照する
/<Down> : ひとつ後ろの / 検索の履歴を参照する
?<Up> : ひとつ前の検索の ? 履歴を参照する
?<Down> : ひとつ後ろの ? 検索の履歴を参照する
q/ : / 検索の履歴を小さなウィンドウに表示して選択する
q? : ? 検索の履歴を小さなウィンドウに表示して選択する

Copyright (C) 2023 杜甫々
初版:2023年8月6日 最終更新:2023年8月13日
http://www.tohoho-web.com/vim/search.html