Używam msysgit i chciałbym mieć gvima jako mojego edytora git.
Używam cygwin bash zamiast git bash.
Bieganie
$ /cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/gvim.exe
uruchamia gvim. Ale jeśli ustawię to jako edytor git:
$ git config core.editor /cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/gvim.exe
i uruchom commit, otrzymuję:
/cygdrive/c/Program Files (x86)/Vim/vim73/gvim.exe: -c: line 0: syntax error near unexpected token `('
W razie potrzeby dodaję ukośniki odwrotne:
$ git config core.editor /cygdrive/c/Program\\\ Files\\\ \\\(x86\\\)/Vim/vim73/gvim.exe
To wciąż daje mi:
/cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/gvim.exe: /cygdrive/c/Program Files (x86)/Vim/vim73/gvim.exe: No such file or directory
error: cannot run /cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/gvim.exe: No such file or directory
error: There was a problem with the editor '/cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/gvim.exe'.
Chodzi o to, że mogę skopiować ciąg znaków po „nie można uruchomić” i wkleić go i działa. Wydaje mi się, że może to być spowodowane spacjami lub nawiasami w plikach programu (x86) (co do licha mieli na myśli?).
Ponieważ wydaje się, że cygwin sobie z tym radzi, pomyślałem, że mogę utworzyć dowiązanie symboliczne w powiedzmy / usr / local / bin, tak jak w mojej $ PATH i ustawić
$ git config core.editor /usr/local/bin/gvim
Potwierdzam, że / usr / local / bin / gvim uruchamia gvim. Mimo to uruchomienie zatwierdzenia daje mi:
error: cannot spawn /usr/local/bin/gvim.exe: No such file or directory
error: There was a problem with the editor '/usr/local/bin/gvim.exe'.
Wyłączanie core.editor i próby
$ export GIT_EDITOR=/usr/local/bin/gvim.exe
daje mi ten sam błąd.
Ta odpowiedź SO sugeruje, że używam skryptu do otwarcia edytora.
Usuwam miękki link gvim.exe z / usr / local / bin i
$ cat > gvim
#!/bin/sh
/cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/gvim.exe
$ chmod u+x gvim
Testuję uruchomienie skryptu, działa, uruchamia się gvim.
$ gvim
Niestety po uruchomieniu zatwierdzenia pojawia się błąd
$ git commit
error: cannot spawn /usr/local/bin/gvim: No such file or directory
error: There was a problem with the editor '/usr/local/bin/gvim'.
Co mogę zrobić, aby używać gVim jako edytora git? Czy ktoś tego próbował? Czy popełniłem błędy? Muszę przyznać, że jestem nowicjuszem, jeśli chodzi o Linux.
which gvim
?Odpowiedzi:
git config wydaje się usuwać jeden poziom cudzysłowów, więc dodaj kolejny. Działa to dla mnie (z innym edytorem):
(Zwróć uwagę na cytowane znaki otaczające ścieżkę, powoduje to, że edytor jest uruchamiany za każdym razem, gdy np. Git commit ma postać „c: / Program Files (x86) /Vim/vim73/gvim.exe”, więc z cytatami informującymi powłokę bash nie próbuj interpretować () jako tego, co według niego oznacza.)
źródło
Podczas pracy ze spacjami w ścieżkach dobrym pomysłem jest umieszczanie ich w cudzysłowach. To rozwiąże twój problem:
źródło
Jeśli nie ma ścieżki, nie podawaj ścieżki
Jeśli ścieżka jest pusta, podaj pustą ścieżkę
Jeśli ścieżka jest względna, należy przekazać tak, jak jest
Jeśli ścieżka jest bezwzględna, przekonwertuj na format Windows
Następnie ustawiam te zmienne:
EDYTOR pozwala skryptowi współpracować z Git
GIT_EDITOR pozwala skryptowi współpracować z poleceniami Hub
Źródło
źródło