Comment utiliser Notepad ++ (ou tout autre éditeur que vim) avec msysgit?
J'ai essayé tout ce qui suit en vain:
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
Mise à jour 2010-2011:
(zumalifeguard 's solution (upvoted) est plus simple que l'original, car il n'a plus besoin d'un script d'enveloppe Shell.
Comme je l'explique dans " Comment puis-je configurer un éditeur pour qu'il fonctionne avec Git sous Windows? ", Je préfère un wrapper, car il est plus facile d'essayer de changer éditeurs, ou changer le chemin d'un éditeur, sans avoir à enregistrer cette modification avec un git config
à nouveau .
Mais c'est juste moi.
Informations complémentaires: la solution suivante fonctionne avec Cygwin , contrairement à la solution de zuamlifeguard.
Réponse originale.
Le suivant:
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 "$*"
ça marche. Ces commandes sont interprétées comme un script Shell, d’où l’idée d’emballer tout jeu de commandes Windows dans un script sh
.
(As Frankycommentaires : "N'oubliez pas de sauvegarder votre fichier .sh
Avec des fins de ligne de style Unix ou de recevoir des messages d'erreur mystérieux!")
Plus de détails sur la SO question Comment puis-je configurer un éditeur pour qu'il fonctionne avec Git sous Windows?
Notez l'option '-multiInst
', Pour assurer une nouvelle instance de notepad ++ pour chaque appel de Git.
Notez également que, si vous utilisez Git sur Cygwin (et que vous voulez tilisez Notepad ++ de Cygwin ), alors scphantm explique dans " en utilisant Notepad ++ pour Git dans Cygwin " que vous devez être conscient que:
git
lui passe un chemincygwin
etnpp
ne sait pas quoi en faire
Le script dans ce cas serait donc:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$(cygpath -w "$*")"
Plusieurs lignes pour la lisibilité:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar \
-nosession -noPlugin "$(cygpath -w "$*")"
Avec "$(cygpath -w "$*")"
étant la partie importante ici.
Valcommenté (puis supprimé) pour ne pas utiliser l'option -notabbar
:
Il est inutile de désactiver l'onglet pendant la création d'une base, mais cela nuit beaucoup à l'utilisabilité générale du bloc-notes puisque
-notab
Devient le paramètre par défaut et vous devezSettings>Preferences>General>TabBar> Hide>uncheck
Chaque fois que vous démarrez le bloc-notes après la refonte. Ceci est l'enfer. Vous avez recommandé l'enfer.
Alors utilisez plutôt:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession -noPlugin "$(cygpath -w "$*")"
C'est:
#!/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 options:
Essayez soit 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 abrégée (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 variable d'environnement %PATH%
. Vous n’auriez alors pas à spécifier de chemin pour le script.
git config --global core.editor npp.sh
Steiny rapports dans les commentaires à faire:
git config --global core.editor '"C:/Program Files (x86)/Git/scripts/npp.sh"'
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Ou, pour Windows 64 bits et l'installation de Notepad ++ 32 bits:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Les éléments suivants peuvent également être émis sur la ligne de commande sous Windows 32 bits ou 64 bits. Il va extraire l'emplacement de notepad ++. Exe du registre et configurer git pour qu'il l'utilise automatiquement:
FOR /F "usebackq tokens=2*" %A IN (`REG QUERY "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\notepad++.exe" /ve`) DO git config --global core.editor "'%B' -multiInst -notabbar -nosession -noPlugin"
Si vous souhaitez placer ce qui précède à partir d’un fichier .BAT ou .CMD, vous devez remplacer% A par %% A et% B par %% B
Ça marche pour moi
git config --global core.editor C:/Progra~1/Notepad++/notepad++.exe
git config core.editor "\"C:\Program Files (x86)\Notepad++\notepad++.exe\""
A partir de Git pour Windows v2.15.0 (30 octobre 2017) il est maintenant possible de configurer nano
ou Notepad ++ en tant que Git éditeur par défaut au lieu de vim
.
Pendant l'installation, l'écran suivant apparaît:
J'utilise l'approche avec la variable PATH. Le chemin vers Notepad ++ est ajouté à la variable PATH du système, puis core.editor est défini comme suit:
git config --global core.editor notepad++
En outre, vous pouvez ajouter des paramètres supplémentaires pour Notepad ++:
git config --global core.editor "notepad++.exe -multiInst"
(comme je l'ai détaillé dans " Git core.editor
pour Windows ")
Et ici vous pouvez trouver quelques options que vous pouvez utiliser lorsque vous écrivez Notepad ++ Options de ligne de commande .
MISE À JOUR 2015
Si vous décompressez/installez Notepad ++ dans c:\utils\npp\
et renommez notepad ++. exe en npp.exe pour simplifier les choses, il vous suffit de
git config --global core.editor c:/utils/npp/npp.exe
Pas de scripts wrapper ou autre ruse. Pas besoin d'avoir Notepad ++ dans PATH.
J'utilise Windows 10 et le Bloc-notes ++ et j'obtenais ce message d'erreur:
line 0: syntax error near unexpected token `(' git windows
Donc, je fais la configuration de cette manière:
git config --global core.editor 'C:/Program\ Files\ \(x86\)/Notepad++/notepad++.exe'
et il fonctionne
J'ai utilisé la solution de Starikovs. J'ai commencé avec une fenêtre bash et ai donné les commandes
cd ~
touch .bashrc
Ensuite, j'ai trouvé le fichier .bashrc dans l'Explorateur Windows, je l'ai ouvert avec Notepad ++ et ajouté
PATH=$PATH:"C:\Program Files (x86)\Notepad++"
afin que bash sache où trouver Notepad ++. (Avoir Notepad ++ dans la bash PATH est une chose utile en soi!) Puis j'ai collé sa ligne
git config --global core.editor "notepad++.exe -multiInst"
dans une fenêtre bash. J'ai commencé une nouvelle fenêtre bash pour un dépôt git afin de tester des choses avec la commande
git rebase -i HEAD~10
et le fichier ouvert dans Notepad ++ comme espéré.
Voici une solution avec Cygwin:
#!/bin/dash -e
if [ "$1" ]
then k=$(cygpath -w "$1")
Elif [ "$#" != 0 ]
then k=
fi
Notepad2 ${k+"$k"}
Si aucun chemin, ne passe aucun chemin
Si chemin est vide, passez chemin vide
Si le chemin n'est pas vide, convertissez-le au format Windows.
Ensuite, je définis ces variables:
export EDITOR=notepad2.sh
export GIT_EDITOR='dash /usr/local/bin/notepad2.sh'
EDITOR permet au script de fonctionner avec Git
GIT_EDITOR permet au script de fonctionner avec commandes Hub
Suivez ces instructions,
Assurez-vous d’abord que notepad ++ est installé sur votre système et qu’il s’agit du programme par défaut pour ouvrir les fichiers .txt.
Ensuite, installez gitpad sur votre système. Notez que la dernière fois que j'ai vérifié que le lien de téléchargement était cassé, téléchargez-le à partir de ici comme expliqué .
Ensuite, lorsque vous vous engagez, vous devriez voir apparaître votre éditeur de texte préféré.