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
Était-ce utile?

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 chemin cygwin et npp 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 devez Paramè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:

 entrez la description de l'image ici

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,

  1. 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.

  2. 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"}
  1. S'il n'y a pas de chemin, ne passez aucun chemin

  2. Si chemin est vide, passez chemin vide

  3. 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'
  1. EDITOR permet au script de fonctionner avec Git

  2. GIT_EDITOR permet au script de fonctionner avec les commandes Hub

Source

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top