편집기를 실행할 수 없습니다


153

나는 종종 여러 커밋 메시지를 수정할 필요가 없지만 한두 번 발생했으며 이것을 본 기억이 없습니다. 다른 사람이 있기를 바랍니다. I git rebase -i HEAD~7일 때 예상 목록이 예상대로 vi에서 열립니다. 적절한 위치로 pick값을 변경 edit한 다음 로 변경합니다 :wq.

편집기를 실행할 수 없습니다

core.editor내 세계 의 설정 .gitconfigvi(또한 vim필사적으로 절망적 인 움직임으로 변경했습니다 ). 을 사용해 보았지만 mate초기 목록을 제대로 열지 못해 다시 변경했습니다.

v1.7.3을 사용하고 있으며 제안을 환영합니다.


1
출처는 다음과 같습니다 git_editor "$TODO" || die_abort "Could not execute editor". 편집기가 실제로 작동한다고 말하면 0이 아닌 종료 코드를 반환한다는 의미입니다. 명령 행에서 정상적으로 사용하여 해당 동작을 복제 할 수 있습니까?
Cascabel

이상한 점은 vi가 커밋 목록을 표시하기 위해 시작된다는 것입니다.하지만 저장하고 닫으면 모든 것이 죽습니다. 마술처럼 작동하도록 변경 한 내용에 대한 답변을 참조하십시오.
Rob Wilkerson

어떤 OS를 실행 했습니까? OSX Lion을 실행하면 같은 문제가 발생하여 귀하의 답변으로 해결되었습니다. +1
Adam Lewis

@AdamLewis-지금은 확실하지 않지만 날짜가 주어진다면 10.6 또는 .7 일 것입니다. 확실히 OSX.
Rob Wilkerson 2016 년

5
homebrew를 사용하여 새로운 vim을 설치할 때이 문제가 발생했다고 생각합니다. 설정 git config --global core.editor "/usr/local/bin/vim"이 나를 위해 고정되었습니다.
mmell

답변:


185

어제는 그중 하나 일뿐입니다. /usr/bin/vi잠깐 동안 , 나는 단지 실행 파일이 아닌 전체 경로를 vi (예 :)로 설정하기로 결정했습니다 . 이제 모든 것이 작동합니다. 나는 vi자체적으로 완벽하게 실행 가능 하기 때문에 (내 $EDITORenv 변수도 설정되어 있기 때문에 ) 그것을 얻지 못한다는 것을 인정해야 vi하지만, 작동하고 있으며 기술적 인 카르마는 최근에 그렇게 크지 않았으므로 아마도 질문해서는 안됩니다. 신들은 ...


6
/ usr / bin / vi에 전체 경로를 어디에 설정 했습니까?
Amala

131
내 전역 구성 파일에 넣습니다 git config --global core.editor "/usr/bin/vim".
롭 윌커슨

나는 같은 문제가 있었다. 내가 추측 할 수없는 이유로 core.editor 설정은 / usr / bin / vim 대신 / user / bin / vim으로 설정되었습니다.
jonnybot

동일한 문제가 있었지만 Sublime Text와 함께 전체 경로가 마침내 문제를 해결했습니다. 어쨌든 전에 모든 것이 잘 작동했기 때문에 이상했습니다 ... :-\
Hal

git config --global color.editor "/usr/local/bin/vim"나를 위해 일한 :), 감사
przbadu

159

다음 명령

git config --global core.editor /usr/bin/vim

그것을 고치십시오.

[편집하다]

이제 누군가가 이미 의견에 게시 한 것을 알 수 있습니다. 그것이 나와 같은 일부 맹인에게 여전히 도움이되기를 바랍니다.


6
예를 들어 Windows의 경우 (작은 따옴표가 누락되어 문제가 됨) : git config --global core.editor " 'C : \ Program Files (x86) \ Vim \ vim74 \ vim.exe'"
chrjs

1
예,이 ^. 이를 명확히하려면 실행 파일 경로 주위에 작은 따옴표를 큰 따옴표로 묶으십시오.
Jacob

매력처럼 작동합니다!
R11G

7

지금까지의 다른 답변과 달리 vi의 절대 경로를 사용하고 git core.editorconfig를 설정하는 것만으로는 문제를 해결하기에 충분하지 않았습니다. (그들은 이미 자리에있었습니다.)

내 상황 에서 vi 명령에 플래그추가-f 하여 문제를 해결했습니다 .

git config --global core.editor '/usr/bin/vi -f'

-f옵션이 설정 되면을 사용할 수 git rebase -i있으며 커밋 목록을 저장하고 종료하면 "편집기를 실행할 수 없습니다"라는 오류 대신 리베이스가 진행됩니다.

정력 맨 페이지는 옵션에 관해서는 말한다 -f,

GUI 버전의 경우 Vim은 시작된 셸에서 분리되지 않습니다. ...이 옵션은 Vim이 편집 세션이 끝날 때까지 기다리는 프로그램 (예 : 메일)에서 Vim을 실행할 때 사용해야합니다.

글쎄, 내가 알고있는 GUI 버전을 사용하고 있지 않습니다. gitmasOS Sierra 10.12.6의 터미널 창에서 bash 명령 줄에서 실행 중입니다. 그러나 git rebase -i편집 세션이 끝날 때까지 기다리기 때문에-f 옵션이 필요한 가 여기에 있습니다. 어쩌면 vim ( -f)이 내가 알아낼 수 없었던 어떤 이유로 쉘에서 포크 / 분리하려고합니다.


6

이 문제가 발생했으며 vim 용 vcscommand 플러그인의 일부로 인해 발생했습니다. 다음 명령 중 하나로 vim을 시작하면 종료 코드 1 ( "오류")이 발생했습니다.

  • vi
  • vim

그러나 이것들은 나에게 종료 코드 0 ( "성공")을 주었다.

  • /usr/bin/vi
  • /usr/bin/vim
  • vi -u NONE
  • vim -u NONE

vim을 빠르게 실행하고 종료 코드를 인쇄하기 위해 ~/.vimrc파일 ~/.vim이름을 바꾸고 실행 vi -c q ; echo $?하여 파일 을 비활성화 하고 특정 플러그인으로 다시 추적 할 수있었습니다 .


1
나는 같은 문제가 있었고 vim의 전체 경로를 설정했다 .git config --global core.editor / usr / bin / vim
James

또 다른 가능한 범인은 Mac OS X의 병원체 플러그인 인 것 같습니다 .
sschuberth

3

나에게는 .vimrc에 문제가있었습니다. 해당 파일의 이름을 임시로 바꾸면 문제가 해결되었습니다. 내 .vimrc를 디버깅했습니다. 이것은 ignu의 경험과 매우 유사합니다.


예, 나는 .vimrc에! silent colorscheme macvim을 사용하여 colorscheme이 존재하는 경우 그 설정을 설정하고 그렇지 않은 경우 나를 버그로 만들지 않았습니다 (명령 줄 vim이 작동합니다). 반면, 자동!으로도 실패시 종료 상태를 1로 변경했습니다.
Max

3

어떤 이유로 든 숭고한 사용을 원한다면 전역 구성 파일에서 다음과 같은 작업을 수행 할 수 있습니다.

 git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl"

1

플러그인 중 하나의 문제를 추적하는 데 시간이 조금 걸렸습니다.

(특히 https://github.com/ervandew/supertab )

모든 플러그인을 자동으로 업데이트하는 것이 단점이라고 생각합니다.

최선의 조언은 vimrc와 플러그인의 절반을 비활성화하십시오. 그래도 문제가 해결되지 않으면 다른 절반의 문제입니다.


supertab과 동일한 문제가 있습니다.
harithski

수퍼 탭까지 어떻게 추적 했습니까? 정말 유용한 정보가 될 것입니다.
저스틴 포스

1

다른 옵션은 nano편집기 를 사용하는 것 입니다.

$ whereis nano
$ git config --global core.editor path/to/nano

고칩니다.


1

https://www.youtube.com/watch?v=V5KrD7CmO4o에 표시된 것처럼 커밋을 스쿼시하려고했습니다 . regiting 단계에서 내 자식 편집기 (notepad ++)가 열립니다. 그러나 커밋 메시지 수정 단계에서 "편집기를 실행할 수 없습니다"문제가 발생했습니다. 아마도 git editor 설정이 잘못되었거나 Windows 시스템의 비표준 위치에 notepad ++를 설치했기 때문일 수 있습니다. 즉, 'git config core.editor'는 나에게 주었다notepad++ -multilnst- nosession .

문제를 해결하려면 다음과 같이 전체 경로를 제공하십시오.

git config --global core.editor "'C:\CustomFolder\NPP\notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

참조 : https://www.youtube.com/watch?v=YLxdkcT6H4g


0

/ usr / bin / vim이 1.7.3에 있었습니까? 1.7.3에서만 지원되는 백업 플러그인이 설치되어 있기 때문에 동일한 문제가 발생했습니다. 어떤 이유로 / usr / bin / vim은 갑자기 XCode의 주요 업데이트로 인해 1.7.2로 갑자기 다운 그레이드되었습니다. ..


0

이미 다른 터미널에서 rebase를 위해 vim을 열었을 때도이 문제가 발생했습니다. 나는 rebase를 시작했고 중단되었고 다시 돌아 왔을 때 다른 터미널에서 처음부터 다시 시도했지만 다른 곳에서 같은 rebase의 중간에 있다는 것을 알지 못했습니다. 다른 터미널에서 vim rebase 세션을 마치면 정상적으로 작동합니다.


0

이상하게도 다시 시도하면 나를 위해 일했습니다.

내 core.editor 및 $ EDITOR 변수가 설정되지 않았습니다.


0

나에게 Windows를 사용하여 : 현재 터미널을 닫고 다른 터미널 (win + R, 'cmd'를 입력 한 다음 'enter'를 입력하십시오)을 열면 갑자기 작동합니다.


0

VS 코드 솔루션 :

git config --global core.editor "/Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron"

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.