2017-03-31 56 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指出的那樣。黑客總是一個壞主意:你會在稍後付出代價。 –

相關問題