Comment utiliser Notepad ++ (ou autre) avec msysgit?
-
06-07-2019 - |
Question
Comment utiliser Notepad ++ (ou tout autre éditeur que 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
La solution
Mise à jour 2010-2011:
zumalifeguard 's La solution est plus simple que celle d'origine, car elle ne nécessite plus de script d'enveloppe.
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 d'éditeur ou de changer le chemin d'un éditeur sans avoir à enregistrer cette modification avec un git config
à nouveau . < br>
Mais ce n’est que moi.
Informations complémentaires : la solution suivante fonctionne avec Cygwin , contrairement à la solution de zuamlifeguard.
Réponse originale.
Les éléments suivants:
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 shell, d’où l’idée d’emballer tout ensemble de commandes Windows dans un script sh
.
(En tant que Franky comments :" N'oubliez pas de sauvegarder votre fichier .sh
avec les fins de ligne de style Unix ou de recevoir de mystérieux messages d'erreur! ")
Plus de détails sur la question SO SO 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 souhaitez utilisez Notepad ++ de Cygwin ), puis scphantm explique dans & l'utilisation de Notepad ++ pour Git dans Cygwin " que vous devez être conscient que:
git
lui transmet 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 l'élément important ici.
Val a commenté (puis supprimé) que vous ne devriez pas utiliser -notabbar
option:
Il est inutile de désactiver l'onglet pendant la création de la base, mais cela nuit beaucoup à l'utilisabilité générale du Bloc-notes puisque
-notab
devient le paramètre par défaut et que vous devezParamètres> Paramétrer> Préférences> Général>. TabBar > Cochez & décocher
chaque fois que vous démarrez le Bloc-notes après la modification de la base. 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-à-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: \ programme fichiers \ ...
',), vous avez trois options:
-
Essayez de citer le chemin (guillemets simples ou doubles), comme dans:
git config --global core.editor 'C:/program files/git/npp.sh'
-
ou essayez la notation du nom abrégé (non infaillible):
git config --global core.editor C:/progra~1/git/npp.sh
-
ou (mon favori) place '
npp.sh
' dans un répertoire faisant partie 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 signale dans les commentaires à faire:
git config --global core.editor '"C:/Program Files (x86)/Git/scripts/npp.sh"'
Autres conseils
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Ou, pour Windows 64 bits et une installation de Notepad ++ 32 bits:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Ou, les éléments suivants peuvent ê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 les éléments ci-dessus à partir d'un fichier .bat ou .CMD, vous devez remplacer% A par %% A et% B par %% B
Cela fonctionne pour moi
git config --global core.editor C:/Progra~1/Notepad++/notepad++.exe
git config core.editor "\"C:\Program Files (x86)\Notepad++\notepad++.exe\""
À partir de Git pour Windows v2.15.0 (30 octobre 2017) , il est maintenant possible de configurez nano
ou Notepad ++ comme éditeur par défaut de Git au lieu de vim
.
Au cours de 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 expliqué dans " Git core.editor
pour Windows ")))
Et vous trouverez ici quelques options que vous pourrez utiliser lorsque vous déclarerez Notepad ++ Options de ligne de commande .
UPDATE 2015
Si vous décompressez / installez Notepad ++ dans c: \ utils \ npp \
et renommez notepad ++. exe en npp.exe pour plus de simplicité, vous n'avez plus qu'à
git config --global core.editor c:/utils/npp/npp.exe
Pas de scripts wrapper ni d’autres ruses. Pas besoin d'avoir Notepad ++ dans PATH.
J'utilise Windows 10 et le Bloc-notes ++ et le message d'erreur suivant s'affiche:
line 0: syntax error near unexpected token `(' git windows
Je réalise donc la configuration de la manière suivante:
git config --global core.editor 'C:/Program\ Files\ \(x86\)/Notepad++/notepad++.exe'
et ça marche
Suivez ces instructions,
-
Tout d’abord, assurez-vous que vous avez le bloc-notes ++ installé sur votre système et que c’est le programme par défaut pour ouvrir les fichiers .txt.
-
Installez ensuite gitpad sur votre système. Notez que la dernière fois que j'ai vérifié que le lien de téléchargement était brisé, téléchargez-le à partir de ici en tant que expliqué .
Ensuite, tout en validant, votre éditeur de texte préféré apparaît.
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++"
pour que bash sache où trouver Notepad ++. (Avoir Notepad ++ dans la bash PATH est utile en soi!) J'ai ensuite collé sa ligne
git config --global core.editor "notepad++.exe -multiInst"
dans une fenêtre bash. J'ai ouvert 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 souhaité.
Voici une solution avec Cygwin:
#!/bin/dash -e
if [ "$1" ]
then k=$(cygpath -w "$1")
elif [ "$#" != 0 ]
then k=
fi
Notepad2 ${k+"$k"}
-
S'il n'y a pas de chemin, ne passez 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 les commandes Hub