655 Stimmen

Wie kann ich einen Editor für die Arbeit mit Git unter Windows einrichten?

Ich probiere aus Git unter Windows . Ich kam zu dem Punkt, an dem ich "git commit" versuchte, und erhielt diesen Fehler:

Terminal ist stumm, aber kein VISUAL noch EDITOR definiert. Bitte geben Sie die Nachricht entweder mit der Option -m oder -F.

Also habe ich herausgefunden, dass ich eine Umgebungsvariable namens EDITOR benötige. Kein Problem. Ich habe sie so gesetzt, dass sie auf Notepad zeigt. Das hat funktioniert, fast. Die Standardübertragungsnachricht wird in Notepad geöffnet. Aber Notepad unterstützt keine reinen Zeilenvorschübe. Ich ging los und holte Notepad++ aber ich kann nicht herausfinden, wie ich Notepad++ als den %EDITOR% so zu gestalten, dass es wie erwartet mit Git funktioniert.

Ich bin nicht mit Notepad++ verheiratet. Zu diesem Zeitpunkt ist es mir egal, welchen Editor ich verwende. Ich möchte nur in der Lage sein Commit-Meldungen in einem Editor eingeben und nicht über die Befehlszeile (mit -m ).

Diejenigen von Ihnen, die Git unter Windows verwenden: Welches Tool verwenden Sie, um Ihre Commit-Nachrichten zu bearbeiten, und was mussten Sie tun, damit es funktioniert?

14voto

OmgKemuel Punkte 113

Pour Atom können Sie tun

git config --global core.editor "atom --wait"

und ähnliches für Visual Studio-Code

git config --global core.editor "code --wait"

die ein Fenster öffnen wird Atom o Visual Studio-Code Fenster, durch das Sie sich verpflichten können,

oder für Erhabener Text :

git config --global core.editor "subl -n -w"

12voto

Gavin Punkte 9667

WordPad !

Ich bin mit Vim zufrieden, aber da ich versuche, Git in der Firma einzuführen, wollte ich etwas, das wir alle haben, und fand, dass WordPad gut zu funktionieren scheint (d.h. Git wartet, bis man mit der Bearbeitung fertig ist und das Fenster schließt).

git config core.editor '"C:\Program Files\Windows NT\Accessories\wordpad.exe"'

Das ist mit Git Bash auf msysgit; ich habe es nicht über die Windows-Eingabeaufforderung versucht (falls das einen Unterschied macht).

10voto

Tim Henigan Punkte 57320

Ich verwende auch Cygwin unter Windows, aber mit gVim (im Gegensatz zum Terminal-basierten Vim ).

Damit dies funktioniert, habe ich Folgendes getan:

  1. Erstellt eine einzeilige Batch-Datei (mit dem Namen git_editor.bat ), die Folgendes enthält: "C:/Program Files/Vim/vim72/gvim.exe" --nofork "%*"
  2. Platziert git_editor.bat in meinem PATH .
  3. Satz GIT_EDITOR=git_editor.bat

Damit ist das erledigt, git commit usw. wird die ausführbare Datei gVim korrekt aufrufen.

ANMERKUNG 1: Die --nofork an gVim stellt sicher, dass er blockiert, bis die Übergabe-Nachricht geschrieben wurde.

HINWEIS 2: Die Anführungszeichen um den Pfad zu gVim sind erforderlich, wenn Sie Leerzeichen im Pfad haben.

HINWEIS 3: Die Anführungszeichen um "%*" sind nur erforderlich, wenn Git einen Dateipfad mit Leerzeichen übergibt.

9voto

Edward J Beckett Punkte 4891

Dank der Stack Overflow-Community ... und ein wenig Forschung konnte ich meinen Lieblingseditor bekommen, EditPad Pro , um als Haupteditor mit msysgit 1.7.5.GIT und TortoiseGit v1.7.3.0 unter Windows XP SP3 zu arbeiten...

Den obigen Ratschlägen folgend, habe ich den Pfad zu einem Bash-Skript für den Code-Editor hinzugefügt...

git config --global core.editor c:/msysgit/cmd/epp.sh

Doch nach mehreren gescheiterten Versuchen mit den oben genannten Lösungen ... habe ich es endlich zum Laufen gebracht. Laut der Dokumentation von EditPad Pro würde das Hinzufügen der "/newinstance"-Flagge der Shell erlauben, auf die Eingabe des Editors zu warten...

Die ' /neueInstanz Die Flagge war der Schlüssel in meinem Fall...

#!/bin/sh
"C:/Program Files/JGsoft/EditPadPro6/EditPadPro.exe" //newinstance "$*"

9voto

guwer Punkte 81

Bearbeiten Sie die Datei .gitconfig in c: \Users\YourUser Ordner und hinzufügen:

[core]
editor = 'C:\\Program files\\path\\to\\editor.exe'

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X