コマンドがVIMで一緒に機能せず、個別にのみ機能するのはなぜですか?

コマンドがVIMで一緒に機能せず、個別にのみ機能するのはなぜですか?

次のテキストを検討してください。

com.abc.JavaClassA.doSomething(JavaClassA.java:35)
com.abc.JavaClassA.doSomething(JavaClassA.java:35)
com.abc.JavaClassA$2.doSomething(JavaClassA.java:35)
com.abc.JavaClassA$1.doSomething(JavaClassA.java:35)

次のコマンドを実行します。

:%s/\v\.[^\.]{-}\(.*\)//ge | g/\v\$[0-9]+$/de | %sort u | %!uniq

私は期待:

com.abc.JavaClassA

ただし、出力は次のようになります。

com.abc.JavaClassA
com.abc.JavaClassA$1

なぜ?com.abc.JavaClassA$1削除する必要があると思います。g/\v\$[0-9]+$/de

答え1

~によるとvim ドキュメント:global(別名:g)は、潜在的な引数の1つである|--separatedコマンドチェーンでは使用できません。|次の方法でこの問題を解決できます:execute

:execute 'command1' | 'command2' [...]

関連情報