我正在尝试在vim中进行按键映射,实现以下功能:(a) 保存当前文件 (b) 使用shell执行git操作 (c) 退出vim编辑器。我已经尝试了以下方法,但仍然无法解决问题。
方法1 - 在Vim命令行中输入:
:w | !git commit -am "auto" | q
方法2 - 在 .vimrc 文件中定义快捷键:
map :W :w \| !git commit -am "auto"
map :L :Wq
问题
问题是管道符 |
只能用于连接shell命令。如何结合使用 '一个Vim命令' + '一个shell命令' + '一个Vim命令'
呢?如何在shell命令后面加一个vim命令?
vim
命令。其中一个命令恰好是执行 shell 命令的!
命令,但这两个命令可以是任何命令。 - Barmarpdflatex
和git
不是vim命令
,它们是shell命令
。你必须在vim中使用!
来执行它们。在我的问题中,q
会被翻译为!q
,这是q(在bash中)
并会产生错误。 - AnnieFromTaiwan:!
之后使用管道。 - Kevin