Eu uso o msysgit e gostaria de ter o gvim como meu editor de git.
Eu uso o cygwin bash em vez do git bash.
Corrida
$ /cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/gvim.exe
inicia o gvim. Mas se eu definir isso como editor git:
$ git config core.editor /cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/gvim.exe
e execute commit, recebo:
/cygdrive/c/Program Files (x86)/Vim/vim73/gvim.exe: -c: line 0: syntax error near unexpected token `('
Em seguida, adiciono barras invertidas quando necessário:
$ git config core.editor /cygdrive/c/Program\\\ Files\\\ \\\(x86\\\)/Vim/vim73/gvim.exe
Isso ainda me dá:
/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'.
O problema é que eu posso copiar a sequência depois de "não pode ser executada" e colá-la e ela é executada. Eu acho que isso pode ser causado pelos espaços ou parênteses nos Arquivos de Programas (x86) (o que eles estavam pensando?).
Como o cygwin parece lidar bem, achei que poderia criar um link simbólico em / usr / local / bin, como está no meu $ PATH e defina
$ git config core.editor /usr/local/bin/gvim
Confirmo que / usr / local / bin / gvim inicia o gvim. Ainda assim, executar um commit me dá:
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'.
Desativando core.editor e tentando
$ export GIT_EDITOR=/usr/local/bin/gvim.exe
me dá o mesmo erro.
Esta resposta do SO sugere que eu use um script para abrir o editor.
Eu removo o link flexível gvim.exe de / usr / local / bin e
$ cat > gvim
#!/bin/sh
/cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/gvim.exe
$ chmod u+x gvim
Eu testo o script, ele funciona, o gvim inicia.
$ gvim
Infelizmente, quando executo commit, recebo um erro
$ 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'.
O que posso fazer para usar o gVim como editor de git? Alguém já tentou? Eu cometi erros? Devo admitir ser um novato no que diz respeito ao Linux.
which gvim
?