在vim中使用:g命令,可以执行多个操作

kad*_*ian 6 regex vim text-processing command macvim

我怎么能用这样的东西?

:g/^$/kJ
Run Code Online (Sandbox Code Playgroud)

这里kJ是两个命令,而不是只有一个(如'd')

我的具体例子:我有多条线看起来像这样

queryBuilder
    .append("xyz");
Run Code Online (Sandbox Code Playgroud)

我想让它们看起来像这样:

queryBuilder.append("xyz");
Run Code Online (Sandbox Code Playgroud)

所以我想为每一行做的是

:g/^[\t]*\..*$/kJx
Run Code Online (Sandbox Code Playgroud)

它匹配正确的模式,但似乎只执行k.

其他vim命令在这里适用吗?你将如何执行这项任务?

Bir*_*rei 10

添加normal执行所有指令的指令,如:

:g/^[\t]*\..*$/normal kJx
Run Code Online (Sandbox Code Playgroud)

  • @ ka2011r:`:g`允许你运行`ex`命令(以冒号开头),`:normal`是一个`ex`命令,它允许你执行Normal命令,那些你想要的命令,`k`,`J`和`x`. (2认同)