명령이 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) 은 잠재적 인수 중 하나인 |--separated 명령 체인에서 사용할 수 없습니다. |다음 방법으로 이 문제를 해결할 수 있습니다 :execute.

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

관련 정보