文字列パターンを入力して、ファイル内の文字列を検索する場合は、次のコマンドの組み合わせで操作します。
/pattern [Enter] -- 順方向にパターンを検索
?pattern [Enter] -- 逆方向にパターンを検索
n -- 前回と同じ方向に再検索
N -- 前回と逆の方向に再検索
/ [Enter] -- 順方向に再検索
? [Enter] -- 逆方向に再検索
検索には正規表現が使用できます。
/^void
/te* ⇒ t, te, tee などに一致
/te\+ ⇒ te, tee, teee などに一致
/te\= ⇒ t あるいは te に一致
/\a\a\a ⇒ 任意の 3 文字のアルファベットに一致
/\d\d\d ⇒ 任意の 3 桁の数字に一致
/x[+*/]y ⇒ x+y, x*y, x/y
/x[\^\-]y ⇒ x^y, x-y ※ブラケット式の中の ^ や - はエスケープする必要がある
/a\{3,5} ⇒ aaa, aaaa, aaaaa に一致 (aaaaa があれば aaaaa に一致する)
/a\{-3,5} ⇒ aaa, aaaa, aaaaa に一致 (aaaaa があっても aaa に一致する)
/a\{3,} ⇒ 3 個以上の a に一致
/a\{,3} ⇒ 3 個以下の a に一致
/a\{3} ⇒ 3 個の a に一致
/\(abc\)\+ ⇒ abc, abcabc, abcabcabc などに一致
/\(ab\+c\)\1 ⇒ abcabc, abbcabbc などに一致 ※\(\)で囲まれた部分に一致したテキストを \1 で参照
/foo\|bar ⇒ foo か bar に一致
/\<print
/\<word\>
/[Tt]he
/^[[:digit:]]
/
あるいは ?
を入力した後で、上下カーソルキー、あるいは Ctrl+P
、Ctrl+N
で検索履歴を利用して再検索することができます。
[I -- カーソル位置のキーワードを含む行をすべて表示する
[D -- カーソル位置のマクロ定義を含む行をすべて表示する
fx -- カレント行の次の文字 x へ移動
Fx -- カレント行の前の文字 x へ移動
tx -- カレント行の次の文字 x のひとつ前の文字へ移動
Tx -- カレント行の前の文字 x のひとつ後ろの文字へ移動
; -- 前回の行内の文字検索を繰り返し(同じ方向)
, -- 前回の行内の文字検索を繰り返し(逆の方向)
dt.
)
までのテキストを置換ct)
dt ← 最後はスペース. sdlflkj