VIM:一次执行两个操作

时间:2012-04-09 15:33:59

标签: vim

我经常保存:w并提交SVN svn commit -m "Ticket 351"作为两个操作。有没有办法将它们组合成一个单独的操作,以便我可以在需要时 输入?我不想映射密钥,因为我有时需要更改提交消息。

感谢。

3 个答案:

答案 0 :(得分:6)

使用|作为命令分隔符(请参阅:help :bar):

:w|!svn commit -m foo

答案 1 :(得分:2)

你也可以写一个函数。例如。类似的东西;

function! Commit(msg)

    write

    let response = system('svn commit -m "' . a:msg . '"')

    echo response

endfunction

然后:

:call Commit('ticket 1234')

答案 2 :(得分:1)

@JoshLee给出了字面答案。但是,为什么键绑定对你来说是不可接受的?

nnoremap <Leader>s :w<bar>!svn commit -m<space>
在按Enter键之前,

仍然允许您编写提交消息...