
と入力すると、/regex
カーソルが最初の一致にしばらく移動し、すべての一致が強調表示されます。入力すると更新されます。交換の準備時にこの動作が発生する可能性はありますか?たとえば、複雑な正規表現を扱うときに:%s/\<regex\>/
トリガーを引いて、すべてを変更する前に何が一致するのかを知りたいと思います。これを行う方法はありますか?
答え1
以下を使用して検索語を入力してください。/(または?)まず、正規表現を調整できます(incsearchを使用しているため)。
すべてがうまくいけば使えますより早い検索項目で 2 つの区切り文字を使用して、代替コマンドからパターン (使用したばかりのパターン) を検索します。
/elephant " find the next elephant
:%s//rhino/gc " make then all rhinos!
もちろん、選択と範囲は通常どおり使用できます。
:1,15s,,cougar,g
:'<,'>s::tiger:
答え2
1つのオプションは、確認フラグを持つことができることですc
。
:%s;regex;replacement;gc
:h s_flags
:
[c] Confirm each substitution. Vim highlights the matching string. You can type:
'y' to substitute this match
'l' to substitute this match and then quit ("last")
'n' to skip this match
<Esc> to quit substituting
'a' to substitute this and all remaining matches
'q' to quit substituting
grep
コマンドを使用して、フィルタ処理された出力と強調表示されたソースファイルを表示することもできます。
:g/re/p
または:g/re/
答え3
/
まあ、正規表現が何と一致するかを確認する簡単な方法は、目的の正規表現で検索することです。入力すると、最初の一致に移動してタグを付けます。一度試してみてください。vim
がっかりしません。