私はvimスクリプトでvim関数を使用していますが、最初の最初の括弧の後にsubstitute
あるすべての文字を置き換えたいと思います。たとえば、次のような文字列があるとします。
]]]] foo ] bar ] baz
角かっこの後のすべてを削除したい。どうすればこれに合わせることができますか?最初の括弧の後に閉じ括弧を削除したいのですが、文字列の先頭にある括弧は削除したくないことに注意してください。実行後、行は4つの括弧のみにする必要があります。
]]]]
これを試して:
:echo substitute("]]]] foo ] bar ] baz",'\(^]\+\).*','\1','g')
ここでは、エコーし]]]]
ます。
このex
式は機能するはずです:
:%s / ^] + \ s * //
:%s/\(^\]*\).*/\1/
文字列の先頭にあるすべての閉じ括弧は、空白が使用されるまで一致させることができます。
(^[]]*\s).+$
に置き換えます$1
(vimではおそらく\1
)