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
War es hilfreich?

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 einen cygwin Weg und npp 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 starten Settings>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:

 image description hier

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

Es wurden keine Wrapper-Skripten oder andere Tricks. Keine Notwendigkeit, Notepad ++ in PATH.

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,

  1. Zuerst stellen Sie sicher, Sie haben Notepad ++ installiert auf System und dass es das Standardprogramm ist, um Dateien zu öffnen .txt.

  2. 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"}
  1. Wenn kein Pfad, keinen Weg passieren

  2. Wenn der Pfad leer ist, übergibt leeren Pfad

  3. 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'
  1. Editor ermöglicht mit Git

  2. Skript arbeiten
  3. GIT_EDITOR erlaubt Skript, mit zu arbeiten Hub Befehle

Quelle

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top