Wie kann ich Notepad ++ (oder andere) mit msysgit?
-
06-07-2019 - |
Frage
Wie verwende ich Notepad ++ (oder einen anderen Editor neben vim) mit msysgit?
Ich habe versucht, alle folgenden ohne Erfolg:
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
Lösung
Update 2010-2011:
zumalifeguard 's Lösung (upvoted) ist einfacher als das Original, da es nicht mehr Skript eines Shell-Wrapper benötigt.
Wie erkläre ich in " Wie kann ich einen Editor einrichten mit Git auf Windows zu arbeiten? ", ziehe ich einen Wrapper, da es einfacher ist, Editoren zu versuchen und zu wechseln, oder den Pfad eines Editors zu ändern, ohne erneut mit einem git config
der Änderung registrieren mit .
Aber das ist nur meine Meinung.
Weitere Informationen: . Die folgende Lösung funktioniert mit Cygwin , während der zuamlifeguard-Lösung nicht
Original Antwort.
Folgende:
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 "$*"
funktioniert. Diese Befehle werden als Shell-Skript interpretiert, daher die Idee, alle Fenster zu wickeln eine Reihe von Befehlen in einem sh
Skript.
(Wie Franky Kommentare : "Denken Sie daran, Ihre .sh
Dateiendungen mit Unix-Stil Linie zu speichern oder mysteriöse Fehlermeldungen angezeigt")
Weitere Einzelheiten über die Frage SO Wie kann ich einen Editor einrichten mit Git auf Windows arbeiten?
Beachten Sie die '-multiInst
' Option, für eine neue Instanz von Notepad ++ gewährleistet für jeden Anruf von Git.
Beachten Sie auch, dass, wenn Sie mit Git auf Cygwin (und wollen Verwendung von Notepad ++ Cygwin ), dann scphantm in " mit Notepad ++ für Git innerhalb Cygwin " erklärt, die Sie müssen sich bewusst sein, dass:
git
ist vorbei es einencygwin
Weg undnpp
weiß nicht, was damit zu tun
So das Skript in diesem Fall sei:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$(cygpath -w "$*")"
Mehrere Linien zur besseren Lesbarkeit:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar \
-nosession -noPlugin "$(cygpath -w "$*")"
Mit "$(cygpath -w "$*")"
hier den wichtigen Teil zu sein.
Val kommentiert (und dann gelöscht), die Sie sollten nicht -notabbar
Option verwenden:
Es ist nicht gut auf die Registerkarte während Fütterungsmaterial zu deaktivieren, aber eine Menge Schaden auf allgemeine Notepad Usability macht da
-notab
die Standardeinstellung wird und Sie müssen jedes Mal, wenn Sie Notizblock nach rebase startenSettings>Preferences>General>TabBar> Hide>uncheck
. Das ist die Hölle. Es wird empfohlen, die Hölle.
So verwenden eher:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession -noPlugin "$(cygpath -w "$*")"
Das heißt:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession \
-noPlugin "$(cygpath -w "$*")"
Wenn Sie das Skript platzieren ‚npp.sh
‘ in einem Pfad mit Leerzeichen (wie in
'c:\program files\...
'), haben Sie drei Möglichkeiten:
-
Entweder versuchen, den Pfad (einfache oder doppelte Anführungszeichen) zu zitieren, wie in:
git config --global core.editor 'C:/program files/git/npp.sh'
-
oder versuchen, die shortname Notation (nicht narrenErprobt):
git config --global core.editor C:/progra~1/git/npp.sh
-
oder (mein Favorit) Ort '
npp.sh
' in einem Verzeichnis Teil Ihrer%PATH%
Umgebungsvariable. Sie würden dann nicht für das Skript einer beliebigen Pfad angeben müssen.git config --global core.editor npp.sh
-
Steiny Berichte in den Kommentaren zu tun zu haben:
git config --global core.editor '"C:/Program Files (x86)/Git/scripts/npp.sh"'
Andere Tipps
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Oder, für 64-Bit-Windows und eine 32-Bit-Installation von Notepad ++:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Oder folgende kann auf beide 32-Bit- oder 64-Bit-Windows auf die Kommandozeile ausgegeben werden. Es wird die Lage von Notepad ++ zieht exe aus der Registrierung und konfiguriert git es zu benutzen automatisch.
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"
Wenn Sie die oben von einer .BAT oder CMD-Datei platzieren möchten, müssen Sie% A mit %% A und% B mit %% B ersetzen
Dies funktioniert für mich
git config --global core.editor C:/Progra~1/Notepad++/notepad++.exe
git config core.editor "\"C:\Program Files (x86)\Notepad++\notepad++.exe\""
Wie von Git für Windows v2.15.0 (30. Oktober 2017) ist es nun möglich, configure nano
oder Notepad ++ als Standardeditor Git statt vim
.
Während der Installation werden Sie den folgenden Bildschirm sehen:
Ich verwende den Ansatz mit PATH-Variable. Pfad zu Notepad ++ ist mit dem System der PATH-Variablen hinzugefügt und dann wird core.editor eingestellt wie folgt:
git config --global core.editor notepad++
Auch können Sie einige zusätzliche Parameter für Notepad ++ hinzufügen:
git config --global core.editor "notepad++.exe -multiInst"
(wie ich in Detail " Git core.editor
für Windows ")
Und hier können Sie einige Optionen finden Sie verwenden können, wenn Notepad ++ Angabe
UPDATE 2015 Wenn Sie entpacken / install Notepad ++ in Es wurden keine Wrapper-Skripten oder andere Tricks. Keine Notwendigkeit, Notepad ++ in PATH. c:\utils\npp\
und benennen Sie Notepad ++. Exe für Einfachheit npp.exe, dann alles, was Sie tun müssen, ist git config --global core.editor c:/utils/npp/npp.exe
Ich verwende Windows 10 und Notepad ++, und ich war immer diese Fehlermeldung:
line 0: syntax error near unexpected token `(' git windows
So mache ich das Setup auf diese Weise:
git config --global core.editor 'C:/Program\ Files\ \(x86\)/Notepad++/notepad++.exe'
und es funktioniert
Befolgen Sie diese Anweisungen,
-
Zuerst stellen Sie sicher, Sie haben Notepad ++ installiert auf System und dass es das Standardprogramm ist, um Dateien zu öffnen .txt.
-
Dann installieren gitpad auf Ihrem System. Beachten Sie die letzte, was ich den Download-Link überprüft wurde gebrochen, so laden Sie es von hier als erklärt .
Dann, während begehen Sie Ihren bevorzugten Texteditor Aufspringen sehen sollte.
Ich habe starikovs' Lösung. Ich begann mit einem Bash-Fenster und gab die Befehle
cd ~
touch .bashrc
Dann fand ich die Datei .bashrc in Windows Explorer, öffnete sie mit Notepad ++ und hinzugefügt
PATH=$PATH:"C:\Program Files (x86)\Notepad++"
, so dass bash weiß, wo Notepad finden ++. (Mit Notepad ++ in der Bash-PATH ist eine nützliche Sache für sich allein!) Dann klebte ich seine Linie
git config --global core.editor "notepad++.exe -multiInst"
in ein Bash-Fenster. Ich begann ein neues bash Fenster für ein Git Repository zu testen Dinge mit dem Befehl
git rebase -i HEAD~10
und die Datei geöffnet in Notepad ++ wie erhofft.
Hier ist eine Lösung mit Cygwin:
#!/bin/dash -e
if [ "$1" ]
then k=$(cygpath -w "$1")
elif [ "$#" != 0 ]
then k=
fi
Notepad2 ${k+"$k"}
-
Wenn kein Pfad, keinen Weg passieren
-
Wenn der Pfad leer ist, übergibt leeren Pfad
-
Wenn der Pfad zu Windows-Format nicht leer ist, konvertieren ist.
Dann habe ich diese Variablen:
export EDITOR=notepad2.sh
export GIT_EDITOR='dash /usr/local/bin/notepad2.sh'
-
Editor ermöglicht mit Git
Skript arbeiten
-
GIT_EDITOR erlaubt Skript, mit zu arbeiten Hub Befehle