0

私はviで同様の検索をしたいです。たとえば、コマンドvitest.logを使用してファイルを開きます。ここで、前方検索を実行したいのですが、[string1]%[string2]を探しています。ここで、%は、これら2つの文字列の間に(1行に)任意の数の文字が存在する可能性があることを意味します。oracleでこの種の検索があります(たとえば、「pattern%」を検索することがよくあります)。viでそれを実装する方法は?

4

2 に答える 2

1

ファイルが開いたら、次のように入力します。

/string1.*string2

/検索を紹介します

.任意の文字を意味します

*任意の数(つまり、任意の文字の任意の数)を意味します

于 2012-05-23T11:03:45.317 に答える
1

文字列の間に少なくとも1つの文字が必要な場合:

/string1.\+string2

文字列の間に文字を含める必要がない場合:

/string1.*string2

これらを使用するには、入力を開始するだけです。リーディング/はVimの検索モードに入ります。Vimの正規表現構文で特別な意味を持つ場合は、一部の文字string1をエスケープする必要がある場合があることに注意してください。string2

説明:

  • .任意の文字を表します(\w文字、数字、アンダースコアなどの「単語」文字と一致させる場合に使用できます)。
  • *「前のパターンの0個以上のインスタンス」を意味します。
  • \+「前のパターンの1つ以上のインスタンス」を意味します。

Vimの正規表現構文は標準のPerl正規表現構文とは少し異なります。そのため、+数量詞の前にスラッシュが必要です。詳細はこちら: http: //www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml

于 2012-05-23T11:03:46.597 に答える