7

Vim で複数の文字列を同時に検索する方法はありますか? それは可能だったが、どういうわけかそのテクニックを忘れていたとどこかで読んだことを思い出します。

たとえば、テキスト ファイルがあり、"foo" と "bar" を同時に検索したいとします (必ずしも 1 つの文字列としてではなく、まったく別の行にある可能性があります)。

どうすればそれを達成できますか?

4

4 に答える 4

15
/^joe.*fred.*bill/          : find joe AND fred AND Bill (Joe at start of line)
/fred\|joe                  : Search for FRED OR JOE
于 2008-09-25T05:12:51.493 に答える
2

実際、これを投稿した直後に答えを見つけました(はい、以前にグーグルで検索しましたが、見つけることができませんでした。おそらく検索が間違っていたのでしょう)

正しい解決策は

/(foo\|バー)

@Paul Betts: パイプはエスケープする必要があります

于 2008-09-25T05:17:21.093 に答える
0

Vim は、'/' を使用してコマンド モードで開始することにより、正規表現をサポートします。

そのため、「/(foo\|bar)」(前に述べたように) のようなものを使用すると、問題が解決します。なぜそれが機能するのか、何を使用しているのか (正規表現) を知っておくとよいでしょう。

于 2008-09-25T05:12:30.667 に答える
-3
/(foo|bar)
于 2008-09-25T05:10:05.213 に答える