213 votes

Comment utiliser Notepad++ (ou autre) avec msysgit ?

Comment utiliser Notepad++ (ou tout autre éditeur à part vim) avec msysgit ?

J'ai essayé toutes les solutions suivantes, sans succès :

git config --global core.editor C:\Program Files\Notepad++\notepad++.exe

git config --global core.editor "C:\Program Files\Notepad++\notepad++.exe"

git config --global core.editor C:/Program Files/Notepad++/notepad++.exe

git config --global core.editor C:\\Program Files\\Notepad++\\notepad++.exe

436voto

zumalifeguard Points 2718
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

Ou, pour Windows 64 bits et une installation 32 bits de Notepad++ :

git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

78voto

VonC Points 414372

Mise à jour 2010-2011 :

zumalifeguard 's solution (upvoted) est plus simple que l'original, car il n'a plus besoin d'un wrapper shell script.

Comme je l'explique dans " Comment puis-je configurer un éditeur pour travailler avec Git sous Windows ? ", Je préfère un wrapper, car il est plus facile d'essayer de changer d'éditeur, ou de modifier le chemin d'accès d'un éditeur, sans avoir à enregistrer ce changement dans un fichier de type git config à nouveau .
Mais c'est juste moi.


Informations complémentaires La solution suivante fonctionne également avec la solution suivante Cygwin . la solution de zuamlifeguard ne le fera pas.


Réponse originale.

Les suivantes :

C:\prog\git>git config --global core.editor C:/prog/git/npp.sh

C:/prog/git/npp.sh:
#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst "$*"

fonctionne. Ces commandes sont interprétées comme un script de l'interpréteur de commandes, d'où l'idée d'envelopper n'importe quel ensemble de commandes de Windows dans un sh script.

Plus de détails sur la question du SO Comment puis-je configurer un éditeur pour travailler avec Git sous Windows ?

Notez le ' -multiInst L'option ', pour assurer une nouvelle instance de notepad++ à chaque appel de Git.

Notez également que, si vous utilisez Git sur Cygwin (et veulent utiliser Notepad++ à partir de Cygwin ), alors scphantm explique dans " utilisation de Notepad++ pour Git dans Cygwin "que vous devez savoir que :

git lui transmet un cygwin et npp ne sait pas quoi en faire

Donc le script dans ce cas serait :

#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$(cygpath -w "$*")"

Plusieurs lignes pour plus de lisibilité :

#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar \
  -nosession -noPlugin "$(cygpath -w "$*")"

Avec *`"$(cygpath -w "$")"`** étant la partie importante ici.

Val a commenté (puis supprimé) que vous ne devriez pas utiliser -notabbar option :

Il n'est pas utile de désactiver l'onglet pendant le rebasement, mais cela nuit beaucoup à l'utilisation générale du bloc-notes, puisque -notab devient le paramètre par défaut et vous devez Settings>Preferences>General>TabBar> Hide>uncheck à chaque fois que vous démarrez Notepad après le rebasement. C'est l'enfer. Vous avez recommandé cet enfer.

Alors utilisez plutôt :

#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession -noPlugin "$(cygpath -w "$*")"

C'est-à-dire :

#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession \
  -noPlugin "$(cygpath -w "$*")"

Si vous voulez placer le script ' npp.sh dans un chemin avec des espaces (comme dans ' c:\program files\... ',), vous avez trois possibilités :

  • Soit vous essayez de citer le chemin (guillemets simples ou doubles), comme dans :

    git config --global core.editor 'C:/program files/git/npp.sh'
  • ou essayez le notation du nom court (non infaillible) :

    git config --global core.editor C:/progra~1/git/npp.sh
  • ou (mon préféré) place ' npp.sh dans une partie du répertoire de votre %PATH% variable d'environnement. Vous n'auriez alors pas à spécifier de chemin pour le script.

    git config --global core.editor npp.sh

7voto

Tim Scott Points 7043

Cela fonctionne pour moi

git config --global core.editor C:/Progra~1/Notepad++/notepad++.exe

4voto

infous Points 558

J'utilise l'approche avec la variable PATH. Le chemin d'accès à Notepad++ est ajouté à la variable PATH du système, puis core.editor est défini comme suit :

git config --global core.editor notepad++

Vous pouvez également ajouter des paramètres supplémentaires pour Notepad++ :

git config --global core.editor "notepad++.exe -multiInst"

Détails ici Git core.editor pour Windows . Et ici, vous trouverez quelques options que vous pouvez utiliser lors de l'installation de Notepad++. Options de la ligne de commande .

0voto

user3196339 Points 1

Cela a marché pour moi : http://stackoverflow.com/a/21127799/3196339

C'est une réponse précédente à la même question.

J'espère que cela vous sera utile.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X