2017-03-31 2 views
0

vim과 vim을 함께 사용하면 좋겠지 만 vim과 mercurial은 함께 사용하지 마십시오.Mercurial commit은 "abort : edit failed : vi가 상태 1로 종료되었습니다."

명령 줄로 종료 변화 커밋 시도 할 때 :

예 : 해결

$ vi 
$ echo $? 
1 
+0

'ls -l "$ (command -v vi)"'는 무엇을 보여줍니까? 'EDITOR = vim hg commit'이 예상대로 작동합니까? – Ryan

+0

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

+0

잠깐 ... 어떻게 vi를 종료 했습니까? ': q'가 아닌가요? – Ryan

답변

0

빠른 해킹 그것은 VI가 항상 출구에서 1 반환 나타납니다

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

을 문제.

  1. 쉘 파일을 만듭니다

    $ sudo는 VI/usr/지방/빈/hgedit

    VI $ * 종료 0

  2. 업데이트 ~/.hgrc

    편집기 =/usr/local/bin/hgedit

+1

그 쉬운 해결 방법이지만 vim이 0이 아닌 상태로 종료되는 이유를 잠그는 것이 좋습니다. 예 : http://unix.stackexchange.com/questions/14497/why-would-vim-return-non-zero-exit-code-if-i-exit-immediately-after-opening – torek

+0

Mercurial은 vi를 다음과 같이 사용합니다. 기본 편집기이므로 작동해야합니다. 근본 원인을 이해해야한다는 것은 분명합니다. 왜 @torek가 가리키는 것처럼 vi가 0이 아닌 채 종료됩니다. 해킹은 항상 나쁜 생각입니다. 나중에 가격을 지불하게됩니다. –

관련 문제