我喜欢使用vi/vim进行可编辑,但是由于vim和mercurial并没有很好的结合在一起。Mercurial commit恢复为“中止:编辑失败:vi退出状态1”
当试图提交修改命令行与退出:
$ hg commit
abort: edit failed: vi exited with status 1
似乎VI总是在退出返回1:
实施例:
$ vi
$ echo $?
1
我喜欢使用vi/vim进行可编辑,但是由于vim和mercurial并没有很好的结合在一起。Mercurial commit恢复为“中止:编辑失败:vi退出状态1”
当试图提交修改命令行与退出:
$ hg commit
abort: edit failed: vi exited with status 1
似乎VI总是在退出返回1:
实施例:
$ vi
$ echo $?
1
快速入侵,解决问题。
创建一个shell文件
$ sudo的VI的/ usr/local/bin目录/ hgedit
六$ * 退出0
更新〜/ .hgrc
editor =/usr/local/bin/hgedit
这是一个方便的解决方法,但我建议确定你的vim以非零状态退出的原因。参见例如http://unix.stackexchange.com/questions/14497/why-would-vim-return-non-zero-exit-code-if-i-exit-immediately-after-opening – torek
Mercurial使用vi作为默认的编辑器,所以它必须工作。很明显,你必须了解根本原因:为什么vi退出非零,正如@torek指出的那样。黑客总是一个坏主意:你会在稍后付出代价。 –
'ls -l“$(command -v vi)”'show? 'EDITOR = vim hg commit'是否按预期工作? – Ryan
1. ls -l“$(command -v vi)” - >/usr/bin/vi - > vim –
等等......你是怎么退出vi的?不用':q'? – Ryan