2017-03-31 16 views
0

我喜欢使用vi/vim进行可编辑,但是由于vim和mercurial并没有很好的结合在一起。Mercurial commit恢复为“中止:编辑失败:vi退出状态1”

当试图提交修改命令行与退出:

$ hg commit 
abort: edit failed: vi exited with status 1 

似乎VI总是在退出返回1:

实施例:

$ vi 
$ echo $? 
1 
+0

'ls -l“$(command -v vi)”'show? 'EDITOR = vim hg commit'是否按预期工作? – Ryan

+0

1. ls -l“$(command -v vi)” - >/usr/bin/vi - > vim –

+0

等等......你是怎么退出vi的?不用':q'? – Ryan

回答

0

快速入侵,解决问题。

  1. 创建一个shell文件

    $ sudo的VI的/ usr/local/bin目录/ hgedit

    六$ * 退出0

  2. 更新〜/ .hgrc

    editor =/usr/local/bin/hgedit

+1

这是一个方便的解决方法,但我建议确定你的vim以非零状态退出的原因。参见例如http://unix.stackexchange.com/questions/14497/why-would-vim-return-non-zero-exit-code-if-i-exit-immediately-after-opening – torek

+0

Mercurial使用vi作为默认的编辑器,所以它必须工作。很明显,你必须了解根本原因:为什么vi退出非零,正如@torek指出的那样。黑客总是一个坏主意:你会在稍后付出代价。 –

相关问题