Vim中的多个全局命令给出错误:不能执行:全局递归

Mer*_*glu 8 vim global ex

我想根据他们的首字母用以下全局命令对我的文本中的段落进行排序:

g/_p/,/^$/mo$
Run Code Online (Sandbox Code Playgroud)

这单独工作.但是,当我一次使用多个全局命令时,会发生错误:

g/_p/,/^$/mo$|g/_w/,/^$/mo$
Run Code Online (Sandbox Code Playgroud)

这会出现以下错误:

Cannot do :global recursive
Run Code Online (Sandbox Code Playgroud)

如何一次顺序运行这些命令?

Aar*_*oma 8

:exe 'g/_p/,/^$/mo$' | g/_w/,/^$/mo$
Run Code Online (Sandbox Code Playgroud)

看到 :help:bar

  • 在这种情况下,没有必要在`:execute`中包装`:global`命令,只需要包装第一个:`:exe'g/_p /,/ ^ $/mo $'| g/_W /,/ ^ $ /月$`. (2认同)