1

私はvimスクリプトでvim関数を使用していますが、最初の最初の括弧の後にsubstituteあるすべての文字を置き換えたいと思います。たとえば、次のような文字列があるとします。

]]]] foo ] bar ] baz

角かっこの後のすべてを削除したい。どうすればこれに合わせることができますか?最初の括弧のに閉じ括弧を削除したいのですが、文字列の先頭にある括弧は削除したくないことに注意してください。実行後、行は4つの括弧のみにする必要があります。

]]]]
4

3 に答える 3

2

これを試して:

:echo substitute("]]]] foo ] bar ] baz",'\(^]\+\).*','\1','g') 

ここでは、エコーし]]]]ます。

于 2013-03-09T20:02:31.217 に答える
1

このex式は機能するはずです:

:%s / ^] + \ s * //

:%s/\(^\]*\).*/\1/
于 2013-03-09T19:53:25.380 に答える
0

文字列の先頭にあるすべての閉じ括弧は、空白が使用されるまで一致させることができます。

(^[]]*\s).+$

に置き換えます$1(vimではおそらく\1

于 2013-03-09T19:55:28.460 に答える