VIM – 同一行上的多个命令

我一直在试图find一些能让我在vim的同一行上运行多个命令的方法,类似于使用分号分隔* nix系统中的命令或者Windows中的& 。 有没有办法做到这一点?

酒吧| 将允许你这样做。 来自:help :bar

'|' 可以用来分隔命令,所以你可以在一行中给出多个命令。 如果你想用'|' 在一个参数中,前面加上'\'

例:

:echo "hello" | echo "goodbye"

输出:

 hello goodbye 

注意:你可能会发现你的~/.vimrc不支持mapping | ,或\| 。 在这些情况下,请尝试使用<bar>

在命令之间和之后放入<CR> (回车/回车)。 例如:

 map <F5> :w<CR>:!make && ./run<CR> 

不要使用| 因为:

  • 如果使用|某些命令会有问题 在他们之后

  • | 在configuration文件中不一致,请参阅:help map_bar

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

 function Func() :command :command2 endfunction 

把它放在你的vimrc中。 运行该function

 exec Func() 

vim中的命令分隔符是|

我一直使用^JCtrl + vCtrl + j分隔多个命令。

你可以创build一个新文件,并在其上写下你的命令。 那么:so % ,这意味着源文件当前。