Je viens de tester avec git version 1.6.2.msysgit.0.186.gf7512 et Notepad++5.3.1
Je préfère ne pas avoir à définir un ÉDITEUR de variable, donc j'ai essayé:
git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\""
# or
git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\" %*"
Qui donne toujours:
C:\prog\git>git config --global --edit
"c:\Program Files\Notepad++\notepad++.exe" %*: c:\Program Files\Notepad++\notepad++.exe: command not found
error: There was a problem with the editor '"c:\Program Files\Notepad++\notepad++.exe" %*'.
Si je définis une centrale nucléaire.chauve-souris, y compris:
"c:\Program Files\Notepad++\notepad++.exe" %*
et je tape:
C:\prog\git>git config --global core.editor C:\prog\git\npp.bat
Il fonctionne à partir du DOS de la session, mais pas du git shell.
(pas qu'avec le cœur.l'éditeur de configuration du mécanisme, un script avec "start /WAIT...
" dans le il ne serait pas le travail, mais seulement ouvrir une nouvelle fenêtre de DOS)
Bennett réponse mentionne la possibilité d'éviter l'ajout d'un script, mais pour faire référence directement le programme lui-même entre simples quotes:
git config --global core.editor \
"'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Ou si vous êtes dans un système 64 bits:
git config --global core.editor \
"'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Mais je préfère utiliser un script (voir ci-dessous): de cette façon, je peux jouer avec les différents chemins ou les différentes options sans avoir à s'inscrire à nouveau un git config
.
La solution réelle (avec un script) a été de réaliser que:
ce que vous appelez dans le fichier de configuration est en fait une coquille (/bin/sh
) script, pas un DOS script.
Donc, ce n'est travail est la suivante:
C:\prog\git>git config --global core.editor C:/prog/git/npp.bat
avec C:/prog/git/npp.bat
:
#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst "$*"
ou
#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"
Avec ces réglages, je peux le faire 'git config --global --edit
"de DOS ou Git Shell, ou je peux le faire 'git rebase -i ...
"de DOS ou Git Shell.
Bot commandes sera le déclencheur d'une nouvelle instance de notepad++ (d'où l' -multiInst
' option), et d'attendre que l'instance soit fermé avant d'aller sur.
Notez que je n'utilise que '/', pas \
'. Et j'ai installé msysgit à l'aide de l'option 2. (Ajouter de l' git\bin
répertoire à l' PATH
variable d'environnement, mais sans écraser certains outils intégrés dans windows)
Le fait que le notepad++ wrapper est appelé .chauve-souris n'est pas important.
Il serait préférable de nommer "npp.sh" et de le mettre dans l' [git]\cmd
répertoire (ou dans n'importe quel répertoire référencé par la variable d'environnement PATH).
Voir aussi: