web-dev-qa-db-fra.com

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

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
209
PHLAK

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 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 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 devez Settings>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"'
    
75
VonC
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

431
zumalifeguard

Ça marche pour moi

git config --global core.editor C:/Progra~1/Notepad++/notepad++.exe
6
Tim Scott
git config core.editor "\"C:\Program Files (x86)\Notepad++\notepad++.exe\""
5
Jus

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:

enter image description here

5
AXO

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 .

3
starikovs

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.

1
Dan Dascalescu

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

0
Ivan

Voici une solution avec Cygwin:

#!/bin/dash -e
if [ "$1" ]
then k=$(cygpath -w "$1")
Elif [ "$#" != 0 ]
then k=
fi
Notepad2 ${k+"$k"}
  1. Si aucun chemin, ne passe 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 commandes Hub

Source

0
Steven Penny

Suivez ces instructions,

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

  2. 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é.

0
Aditya