我一直试图找到一些东西让我在vim的同一行上运行多个命令,类似于使用分号分隔*nix系统或&windows中的命令.有没有办法做到这一点?
mic*_*ael 230
一个酒吧|将允许您这样做.从:help :bar
'|'可用于分隔命令,因此您可以在一行中提供多个命令.如果要'|'在参数中使用,请在其前面加上'\'.
例:
:echo "hello" | echo "goodbye"
输出:
hello
goodbye
Run Code Online (Sandbox Code Playgroud)
注意:您可能会发现您~/.vimrc不支持映射|,或\|.在这些情况下,请尝试使用<bar>.
Bab*_*yan 85
<CR>在命令之间和之后放入(回车/回车).例如:
map <F5> :w<CR>:!make && ./run<CR>
Run Code Online (Sandbox Code Playgroud)
不要使用|因为:
如果您使用|它们,某些命令会出现问题
| 在配置文件中不能始终如一地工作,请参阅 :help map_bar
Jon*_*tan 41
您可以定义执行命令的函数.
function Func()
:command
:command2
endfunction
Run Code Online (Sandbox Code Playgroud)
并将其放在例如你的vimrc中.运行该功能
exec Func()
Run Code Online (Sandbox Code Playgroud)
Jer*_*naw 11
认为这可能会帮助某人尝试在链中进行替换而失败
从评论
% s/word/newword/ge | % s/word2/newword2/ge
Run Code Online (Sandbox Code Playgroud)
e当找不到字符串时,可以使用该标志忽略该错误。