我正在尝试将一些命令映射到 vim 中的快捷方式。具体来说,我正在尝试获得一个彩色的 git diff。如果我在 Ex 模式下键入此命令,它会按预期工作:
:! git diff --staged % | colordiff | less -R
但是如果我尝试在我的 .vmirc 中映射它,
map ,gds :! git diff --staged % | colordiff | less -R<CR>
我收到错误:
E492: Not an editor command: colordiff | less -R<CR>
我有其他使用管道的映射命令就好了,所以这似乎不会导致问题。如果我通过完整路径调用 colordiff,它也无济于事。是什么赋予了?
(好吧,这是 - 我不确定\|)
尝试\|代替|.
但是你应该看看 vimdiff 模式,以及像 CVSmenu 这样的插件是如何进行的。顺便说一句,IIRC 已经存在一个(可能有几个)插件将 git 集成到 vim 中。