J'utilise msysgit et j'aimerais avoir gvim comme éditeur git.
J'utilise cygwin bash au lieu de git bash.
Fonctionnement
$ /cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/gvim.exe
démarre gvim. Mais si je le configure comme éditeur git:
$ git config core.editor /cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/gvim.exe
et exécutez commit je reçois:
/cygdrive/c/Program Files (x86)/Vim/vim73/gvim.exe: -c: line 0: syntax error near unexpected token `('
J'ajoute ensuite des barres obliques inversées si nécessaire:
$ git config core.editor /cygdrive/c/Program\\\ Files\\\ \\\(x86\\\)/Vim/vim73/gvim.exe
Cela me donne toujours:
/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'.
Le fait est que je peux copier la chaîne après "ne peut pas fonctionner" et la coller et elle s'exécute. Je suppose que cela pourrait être causé par les espaces ou les parenthèses dans Program Files (x86) (à quoi pensaient-ils?).
Étant donné que cygwin semble le gérer, je me suis dit que je pouvais créer un lien symbolique dans / usr / local / bin, comme dans mon $ PATH et définir
$ git config core.editor /usr/local/bin/gvim
Je confirme que / usr / local / bin / gvim démarre gvim. Pourtant, l'exécution d'un commit me donne:
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'.
Désinstaller core.editor et essayer
$ export GIT_EDITOR=/usr/local/bin/gvim.exe
me donne la même erreur.
Cette réponse SO suggère que j'utilise un script pour ouvrir l'éditeur.
Je supprime le lien logiciel gvim.exe de / usr / local / bin et
$ cat > gvim
#!/bin/sh
/cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/gvim.exe
$ chmod u+x gvim
Je teste le script, ça marche, gvim démarre.
$ gvim
Malheureusement, lorsque je lance la validation, j'obtiens une erreur
$ 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'.
Que puis-je faire pour utiliser gVim comme éditeur git? Quelqu'un l'a-t-il essayé? Ai-je fait des erreurs? Je dois admettre que je suis novice en matière de Linux.
which gvim
?Réponses:
git config semble supprimer un niveau de guillemets, alors ajoutez-en un autre. Cela fonctionne pour moi (avec un autre éditeur):
(Notez les guillemets échappés entourant le chemin, cela fait que l'éditeur démarre chaque fois que vous faites par exemple git commit comme "c: / Program Files (x86) /Vim/vim73/gvim.exe", donc avec des guillemets qui disent au shell bash de n'essayez pas d'interpréter le () comme ce qu'il pense que cela signifie.)
la source
Lorsque vous travaillez avec des espaces dans des noms de chemin, c'est généralement une bonne idée de les encapsuler entre guillemets. Cela résoudra votre problème:
la source
Si aucun chemin, ne passez aucun chemin
Si le chemin est vide, passez le chemin vide
Si le chemin est relatif, passez tel quel
Si le chemin est absolu, convertissez au format Windows
Ensuite, j'ai défini ces variables:
EDITOR permet au script de fonctionner avec Git
GIT_EDITOR permet au script de fonctionner avec les commandes Hub
La source
la source