3

「:g-2-g/3/」に何か問題がありますか、それともグローバルの再帰が欠落しているだけですか? エラーの理由がわかりません:

E147: :global recursive はできません

VIM で再帰的なグローバル検索を取得するにはどうすればよいですか?

[オペレータに対するニールの最初の提案 \| ]

g/1.*2\|2.*1/

欠点は、組み合わせが n 個の数で展開されることです。数字が3つの場合、組み合わせは3通り!(=6) つまり

g/1.*2.*3\|2.*1.*3\|3.*1.*2\|1.*3.*2\|2.*3.*1\|3.*2.*1/ 

n 個の数の場合、組み合わせの数は n! です。

[演算子 \& による解決]

Brian Carper と Neil Butterworth が解決策を見つけました。彼らに感謝します!

g/.*1\&.*2\&.*3/

それはライン全体のためです:

g/.*1\&.*2\&.*3\&.*/
4

1 に答える 1

3

新しい情報:これはあなたが望むことです - "\&" シーケンスは "and" 演算子です:

g/.*1\&.*2\&.*3/

ブライアン・カーパーの(コメントを参照してください、そしてもう一度感謝します)説明:

/1\&2/両方のブランチが「同じ位置で」一致する必要があるため、機能しません。/.*1\&.*2/試合自体を行の先頭に固定し、数字を見つけるために必要なだけ拡張します

于 2009-04-10T11:33:24.817 に答える