我一直试图找到一些东西,可以让我在Vim中在同一行上运行多个命令,类似于在*nix系统中使用分号分隔命令或在Windows中使用&。有办法做到这一点吗?


当前回答

vim中的命令分隔符是|。

其他回答

您可以定义一个执行命令的函数。

function Func()
     :command
     :command2 
endfunction

把这个放到,比如说,你的vimrc。使用

exec Func()

我一直用^J来分隔多个命令,通过按Ctrl+v, Ctrl+ J。

条形|可以做到这一点。来自:help:bar

'|'可用于分隔命令,因此您可以在一个命令中给出多个命令 线。如果你想在参数中使用'|',在它前面加上'\'。

例子:

:echo "hello" | echo "goodbye"

输出:

hello
goodbye

注:你可能会发现你的~/。Vimrc不支持映射|或\|。在这些情况下,尝试使用<bar>代替。

vim中的命令分隔符是|。

我想这可能会帮助一些人在链上做替换,一个失败了

从注释中

%s/word/newword/ge | %s/word2/newword2/ge

当没有找到字符串时,可以使用e标志忽略错误。