it-swarm.com.de

Wie bringe ich Git dazu, den Editor meiner Wahl für Commits zu verwenden?

Ich würde es vorziehen, meine Commit-Nachrichten in Vim zu schreiben, aber es öffnet sie in Emacs.

Wie konfiguriere ich Git, um immer Vim zu verwenden? Beachten Sie, dass ich dies global tun möchte, nicht nur für ein einzelnes Projekt.

2272
brasskazoo

Wenn Sie den Editor nur für Git festlegen möchten, führen Sie einen der folgenden Schritte aus (Sie benötigen nicht beide):

  • Setze core.editor in deiner Git-Konfiguration: _git config --global core.editor "vim"_
  • Setzen Sie die Umgebungsvariable GIT_EDITOR : _export GIT_EDITOR=vim_

Wenn Sie den Editor für Git und auch für andere Programme festlegen möchten, legen Sie die standardisierten Umgebungsvariablen VISUAL und EDITOR * fest:

_export VISUAL=vim
export EDITOR="$VISUAL"
_

* Die Einstellung beider Optionen ist nicht unbedingt erforderlich, aber einige Programme verwenden möglicherweise nicht die korrektere Einstellung VISUAL. Siehe VISUAL VS. EDITOR .


Für erhabenen Text : Fügen Sie dies zum _.gitconfig_ hinzu. Der _--wait_ ist wichtig. (Erlaubt die Eingabe von Text in erhabener Form und wartet auf das Speichern/Schließen des Ereignisses.

_[core]
    editor = 'subl' --wait
_

'subl' kann durch den vollständigen Pfad der ausführbaren Datei ersetzt werden, ist aber normalerweise bei korrekter Installation verfügbar.

3151
digitaldreamer

Kopieren einfügen:

git config --global core.editor "vim"

Für den Fall, dass Sie wissen möchten, was Sie tun. Aus man git-commit:

UMWELT- UND KONFIGURATIONSVARIABLEN

Der zum Bearbeiten der Commit-Protokollnachricht verwendete Editor wird aus der Umgebungsvariablen GIT_EDITOR, der Konfigurationsvariablen core.editor, der Umgebungsvariablen VISUAL oder der Umgebungsvariablen EDITOR ( in dieser Reihenfolge).

545
Mark Rushakoff

Unter Ubuntu und Debian (danke @MichielB) können Sie den Standardeditor auch folgendermaßen ändern:

Sudo update-alternatives --config editor

Welches wird Folgendes auffordern:

There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
* 3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Press enter to keep the current choice[*], or type selection number: 
174
Koen.

In Windows 7 gab es beim Hinzufügen des "Sublime" -Editors immer noch einen Fehler:

Commit wird aufgrund einer leeren Commit-Nachricht abgebrochen.

Sublime konnte den Fokus nicht halten.

Um dies zu beheben, öffnete ich die Datei .gitconfig in c:/users/username/folder und fügte die folgende Zeile mit der Option --wait außerhalb der doppelten Anführungszeichen hinzu.

[core]
      editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait

Hoffe, es ist hilfreich für jemanden, der sich einem ähnlichen Problem mit Sublime gegenübersieht.

59
Anmol Saraf

In Windows 7 Editor auf Notepad ++ einstellen

  • Öffnen Sie einen beliebigen Texteditor.
  • Öffnen Sie diese Datei: C:\Users\YOUR_USERNAME\.gitconfig
  • Fügen Sie diesen Abschnitt unten hinzu:

[core]
    editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' 
  • Speichern und schließen Sie die Datei.
  • Wenn Sie sich für git entscheiden, schreiben Sie einfach git commit und drücken Sie Enter. Es öffnet sich Notepad ++.
  • Schreiben Sie Ihre Commit-Nachricht oben in die Datei und speichern und schließen Sie die Datei. Getan!
53
Ryan

Visual Studio Code (vscode) als Standard-Git-Editor festlegen

git config --global core.editor "code --wait"
26
Marcelo Mason

Und wenn Sie mit Designern arbeiten, die die Befehlszeile verwenden, dann Pico, und keine Abkürzungen kennen;)

git config --global core.editor "pico"

Oder

export VISUAL=pico
export EDITOR=pico
23
tristanbailey

Festlegen von Sublime Text 2 als Git-Commit-Editor unter Mac OS X 10

Führen Sie diesen Befehl aus:

$ git config --global core.editor "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl"

Oder nur:

$ git config --global core.editor "subl -w"
17
Mohsen

Atom als Git-Editor

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

Atom muss so konfiguriert sein, dass es von der Befehlszeile aus ausgeführt wird, damit das oben Genannte funktioniert:

OS X: Shell-Befehle von Atom installieren: Menüleiste> Atom> Shell-Befehle installieren

Windows: Keine Aktion erforderlich - atom wird standardmäßig über die Befehlszeile ausgeführt

16
2Toad

Windows: Editor als Standardeditor für Commit-Nachrichten festlegen

git config --global core.editor notepad.exe

Schlagen Ctrl+S um Ihre Commit-Nachricht zu speichern. Zum Verwerfen schließen Sie einfach das Notizblockfenster, ohne zu speichern.

Wenn Sie auf die Verknüpfung zum Speichern klicken und den Vorgang abbrechen möchten, gehen Sie zu Datei-> Speichern unter und ändern Sie im daraufhin angezeigten Dialogfeld "Dateityp" in "Alle Dateien (*. *)". Sie sehen eine Datei mit dem Namen "COMMIT_EDITMSG". Löschen Sie es und schließen Sie das Notizblockfenster.

Bearbeiten: Alternativ und einfacher können Sie den gesamten Inhalt aus dem geöffneten Notizblockfenster löschen und auf Speichern klicken. (Danke mwfearnley für den Kommentar!)

Ich denke, für kleine Zuschreibungen wie Commit Messages eignet sich Notepad am besten, da es einfach ist, da es mit Windows in kürzester Zeit geöffnet wird. Sogar Ihr Erhabener kann eine oder zwei Sekunden brauchen, um in Schwung zu kommen, wenn Sie eine Menge Plugins und andere Dinge haben.

11

Dies bietet eine Antwort für Personen, die zu dieser Frage gelangen und möglicherweise einen anderen Editor als vim verlinken möchten.

Die verknüpfte Ressource von Github wird wahrscheinlich auf dem neuesten Stand gehalten, wenn Editoren aktualisiert werden, selbst wenn Antworten auf SO (einschließlich dieser) sind nicht.

Verknüpfen von Texteditoren mit Git

Githubs Beitrag zeigt genau, was Sie in Ihre Befehlszeile für verschiedene Editoren eingeben müssen, einschließlich der Optionen/Flags, die für jeden Editor spezifisch sind, damit er am besten mit git zusammenarbeitet.

Notepad ++:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

Erhabener Text:
git config --global core.editor "'c:/Program Files/sublime text 3/subl.exe' -w"

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

Die obigen Befehle setzen voraus, dass Ihr Editor im Standardverzeichnis für einen Windows-Computer installiert wurde.

Die Befehle fügen im Grunde den Text zwischen doppelten Anführungszeichen zu .gitconfig in Ihrem Ausgangsverzeichnis hinzu.
Auf einem Windows-Computer lautet das Startverzeichnis wahrscheinlich C:\Users\your-user-name, wobei Ihr Benutzername Ihr Anmeldename ist.
Über die Befehlszeile können Sie dieses Verzeichnis erreichen, indem Sie cd ~ eingeben.

ein Befehl oben würde beispielsweise die folgende Zeile unter dem Abschnitt [core] wie folgt einfügen:
[core] editor = 'C:/Program Files/sublime text 3/subl.exe' -w

Wenn Sie einen anderen Editor haben, ersetzen Sie ihn einfach mit dem Pfad zu Ihrem Editor. (und hoffe, dass keine Flags für eine optimale Nutzung benötigt werden.)

9
SherylHohman

Für Emacs-Benutzer

.emacs:

(server-start)

shellrc:

export EDITOR=emacsclient
9
Bendlas

Beste Einstellungen für Sublime Text 3 als Git-Editor (Anweisungen für Windows und Linux):

Um diesen Anweisungen in Windows zu folgen, stellen Sie sicher, dass Sie Git für Windows installiert haben. Unter Windows verwende ich gerne Git BASH, damit es sich eher wie Linux anfühlt.

Zuerst möchten wir ein spezielles Sublime Text-Projekt erstellen, damit wir spezielle Projekteinstellungen festlegen können, die bei jedem Aufruf von git durch den Editor festgelegt werden sollen, um die Bearbeitung in git zu vereinfachen. Normalerweise setze ich mein Lineal in den meisten Projekten auf 120 Zeichen, aber für Git-Commit-Nachrichten möchte ich, dass es 72 Zeichen hat, damit es gut in ein Terminal passt, wenn Sie _git log_ oder git lg .


1. Erstellen Sie ein Sublime Text-Projekt mit Einstellungen, die zum Bearbeiten von Git-Commit-Nachrichten verwendet werden sollen

Öffne Sublime Text und gehe zu "Datei" -> "Neues Fenster", um ein neues anonymes Projekt zu erstellen. Gehen Sie zu "Projekt" -> "Projekt speichern unter ..." und wählen Sie einen Speicherort aus. Unter Linux habe ich es in meinem Linux-Ausgangsverzeichnis mit dem Dateinamen _.gitconfig.sublime-project_ gespeichert. Sein Pfad lautet daher: _~/.gitconfig.sublime-project_. Unter Windows speichern Sie es ebenfalls in Ihrem Home-Verzeichnis, zB: _C:\Users\MY_USER_NAME\.gitconfig.sublime-project_ Gehen Sie nun zu "Projekt" -> "Projekt bearbeiten", um es zu bearbeiten die Projekteinstellungen. Fügen Sie Folgendes ein und speichern Sie die Einstellungen. Nehmen Sie gegebenenfalls weitere Änderungen an Ihren Projekteinstellungen vor.

_{
    //For folder settings help see here: https://www.sublimetext.com/docs/3/projects.html 

    "folders":
    [

    ],

    "settings":
    {

        // Disables horizontal scrolling if enabled.
        // May be set to true, false, or "auto", where it will be disabled for
        // source code, and otherwise enabled.
        "Word_wrap": false,

        // Set to a value other than 0 to force wrapping at that column rather than the
        // window width
        "wrap_width": 0,

        // Columns in which to display vertical rulers
        "rulers": [72, 50], //72 is recommended by git for commit message content, and 50 for commit titles

        // The number of spaces a tab is considered equal to
        "tab_size": 4,

        // Set to true to insert spaces when tab is pressed
        "translate_tabs_to_spaces": true,
    },

    "build_systems":
    [

    ]

}
_

2. Stellen Sie den Editor ein, der von git verwendet werden soll

Jetzt müssen wir den Editor so einstellen, dass er von git verwendet wird, indem wir die Datei _.gitconfig_ bearbeiten.

Für Linux:

Ihre Benutzerkopie davon befindet sich in _~/.gitconfig_. Öffnen Sie diese Datei und fügen Sie die folgenden Zeilen hinzu. Achten Sie darauf, den richtigen Pfadnamen für das oben erstellte Git-Projekt zu verwenden! Ich verwende _~/.gitconfig.sublime-project_.

_[core]
    editor = subl --project ~/.gitconfig.sublime-project --wait
_

Der _--wait_ ist wichtig, da er git zwingt, zu warten, bis Sie die Datei schließen, bevor sie fortgesetzt wird. Die Zeile _--project_ ist wichtig, um Sublime Text mitzuteilen, welches Projekt geöffnet werden soll, wenn git Sublime öffnet.

Laut der obigen Antwort von @ digitaldreamer ( https://stackoverflow.com/a/2596835/4561887 ) kann "subl durch den vollständigen Pfad der ausführbaren Datei ersetzt werden, aber [der Alias ​​subl] ist normalerweise verfügbar, wenn [Sublime] korrekt installiert ist. "

Für Windows:

Lesen Sie für Windows zuerst die Linux-Anweisungen, um Hintergrundinformationen zu erhalten. Jetzt machen wir etwas fast Identisches.

(OPTIONAL: Erstelle einen subl -Alias ​​für die Verwendung in Git BASH):

Öffnen Sie einen Texteditor (z. B. Notepad, Notepad ++, Sublime Text, Geany usw.) und erstellen Sie eine Datei mit dem Namen ".bash_profile" in Ihrem Ausgangsverzeichnis. Sein Pfad lautet daher: _C:\Users\MY_USER_NAME\.bash_profile_. Speichern Sie folgendes hinein:

_alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"
_

Dadurch wird ein Git BASH-Alias ​​namens subl erstellt, den wir jetzt in Git BASH für Windows verwenden können, um Sublime auf einfache Weise zu öffnen. Dieser Schritt ist nicht erforderlich, aber nützlich für die allgemeine Verwendung von Git BASH. Jetzt können Sie beispielsweise in Git BASH _subl ._ aufrufen, um ein neues Sublime-Projekt in Ihrem aktuellen Verzeichnis zu öffnen.

(OBLIGATORISCH):

Bearbeiten Sie die Datei _.gitconfig_ in Ihrem Ausgangsverzeichnis: _C:\Users\MY_USER_NAME\.gitconfig_, indem Sie Folgendes hinzufügen. Beachten Sie die geringfügigen Änderungen gegenüber den obigen Linux-Anweisungen:

_[core]
  editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
_
  • Beachten Sie, dass Sie den vollständigen Pfad zur ausführbaren Sublime Text-Datei angeben müssen. Beachten Sie die Richtung der Schrägstriche! Verwenden Sie _/_ NOT _\_, um Ordner im Pfadnamen zu trennen! (Danke VonC für die Hilfe ).
  • Unser subl -Alias, das wir oben für Git BASH erstellt haben, funktioniert hier nicht, daher können Sie es nicht wie im Linux-Beispiel verwenden. Stattdessen müssen Sie den gesamten Pfad wie oben angegeben angeben.
  • Das Symbol _~_ funktioniert hier jedoch weiterhin, um zu Ihrem Windows-Basisverzeichnis zu gelangen.

2.5. (Optional) Installieren Sie das "Git" -Paket in Sublime Text 3.

Auf diese Weise erhalten Sie eine Syntaxhervorhebung für _git commit_ -Nachrichten sowie Zugriff auf andere Git-Befehle wie _git blame_ (die ich in Sublime Text häufig verwende) oder _git commit_ (die ich nicht verwende) in Sublime Text, da ich die Befehlszeile für den allgemeinen Git-Flow vorziehen würde, wie ich in meinen Kommentaren unter dieser Antwort erwähnt habe).

So installieren Sie ein Paket: Stellen Sie zunächst sicher, dass "Package Control" installiert ist. Drücken Sie dann Ctrl + Shift + P (wie Extras → Befehlspalette) und geben Sie alles oder einen Teil von „Paketsteuerung: Paket installieren“ ein und drücken Sie die Eingabetaste. Suchen Sie im daraufhin angezeigten Suchfeld nach dem Paket "Git" und drücken Sie die Eingabetaste, oder klicken Sie darauf, um es automatisch zu installieren.

Einmal installiert, Ctrl + Shift + P Wenn Sie dann nach "git" suchen, werden git-Befehle angezeigt, die Sie jetzt intern in Sublime Text verwenden können, z. B. _git blame_.


3. Verwenden Sie es

Wenn Sie jetzt beispielsweise _git commit_ aufrufen, öffnet sich Sublime Text wie gewohnt mit den Einstellungen dieses Projekts in dem oben erstellten _.gitconfig.sublime-project_! Wenn Sie einen Absatz eingeben, werden Sie feststellen, dass er über das von uns festgelegte Lineal hinausgeht, da der weiche Zeilenumbruch deaktiviert ist. Um einen Zeilenumbruch über automatisch eingefügte Zeilenumbrüche am Ende jeder Zeile zu erzwingen, setzen Sie den Cursor auf die lange Zeile, die automatisch umbrochen werden soll, und drücken Sie Alt + Q. Es wird nun mit 72 Zeichen hart/hart gefaltet, was wir oben im Parameter "Lineale" der Projekteinstellungen festgelegt haben.

Speichern Sie nun Ihre Commit-Nachricht mit Ctrl + S, und beenden Sie (um Ihren _git commit_ abzuschließen) mit Ctrl + Shift + W.

Getan!

7
Gabriel Staples

Mvim als euer Git Editor

Wie bei allen anderen GUI-Anwendungen müssen Sie mvim mit dem Wait-Flag starten.

git config --global core.editor "mvim --remote-wait"
3
Matteo Rolla

Für Windows-Benutzer, die neovim mit dem Windows-Subsystem für Linux verwenden möchten:

git config core.editor "C:/Windows/system32/bash.exe --login -c 'nvim .git/COMMIT_EDITMSG'"

Dies ist keine narrensichere Lösung, da sie (zum Beispiel) kein interaktives Rebasing unterstützt. Verbesserungen sehr willkommen!

2
brcolow

Bei der Verwendung von git-review musste der sequence.editor -Wert geändert werden, um eine interaktive Neugründung durchführen zu können (git rebase -i -p):

git config --global sequence.editor "gvim"  # or whatever your prefer

gvim erfordern: apt install vim-gtk

Verweise

1
Édouard Lopez

Für Benutzer von TextWrangler aus dem Mac App Store:

git config --global core.editor "open -n -W -a TextWrangler"

Stellen Sie außerdem sicher, dass "TextWrangler> Einstellungen> Anwendung> Wenn TextWrangler aktiviert wird:" auf "Nichts tun" eingestellt ist.

Dies funktioniert für mich unter OS X 10.11.4 mit TextWrangler 5.0.2 aus dem Mac App Store.

Erläuterung:

Das - n bedeutet offen in einer neuen Instanz.

Das - W bedeutet, zu warten, bis die Anwendung beendet ist, bevor der Inhalt der bearbeiteten Datei als Festschreibungsnachricht verwendet wird.

Das - ein TextWrangler bedeutet, dass Sie die TextWrangler-Anwendung verwenden, um die Datei zu öffnen.

Weitere Informationen finden Sie unter man open in Ihrer Mac-Terminal-App.

1
DLRdave

Versuchen Sie es einfach mit EDITOR=vim git commit.

Oder Sie können Ihren EDITOR durch export EDITOR=vim in Ihrem bashrc auf vim setzen.

1
Xiao Hanyu