Standardeditor für im Terminal geöffnete Dateien ändern? (zB auf TextEdit / Coda / Textmate setzen)

109

Gibt es eine Möglichkeit, Dateien, die zur Bearbeitung im Terminal geöffnet werden, stattdessen in Textedit zu öffnen?

Wenn ein Befehl beispielsweise eine Datei zum Bearbeiten (wie git commit) öffnen könnte , anstatt diese Datei in vim oder emacs zu öffnen, wird sie in Textedit (oder einer anderen Textbearbeitungsanwendung Ihrer Wahl wie Coda oder Sublime) geöffnet.

Und als Bonusfrage gibt es eine Möglichkeit, git speziell so zu konfigurieren, dass die nach dem Ausführen git commitin einem Editor aus dem Anwendungsverzeichnis erstellte Datei automatisch geöffnet wird ?

Diogenes
quelle
1
Ja, ich verwende OSX (10.6.4).
Diogenes
Die beste Lösung, die ich gefunden habe, ist die Verwendung von duti-> apple.stackexchange.com/a/123954/58507
Gomino
Für Mac OS 10.10+ funktionieren die oben genannten Lösungen nicht. Versuchen Sie dies apple.stackexchange.com/questions/123833/…
Rishikesh Shukla

Antworten:

135

Die meisten Programme überprüfen die $EDITORUmgebungsvariable, sodass Sie diese auf den Pfad von TextEdit in Ihrem bashrc festlegen können. Git wird dies ebenfalls verwenden.

Wie macht man das:

  • Fügen Sie Ihrer ~/.bashrcDatei Folgendes hinzu :
    export EDITOR="/Applications/TextEdit.app/Contents/MacOS/TextEdit"
  • oder geben Sie einfach den folgenden Befehl in Ihr Terminal ein:
    echo "export EDITOR=\"/Applications/TextEdit.app/Contents/MacOS/TextEdit\"" >> ~/.bashrc

Wenn Sie zsh verwenden, verwenden Sie ~/.zshrcanstelle von ~/.bashrc.

Alternative
quelle
20
Perfekt, das macht es. Ich habe diesen Befehl auch ausgeführt, um sicherzustellen, dass git so funktioniert, wie ich es erwarten würde. Das git config --global --unset-all core.editordann git config --global --add core.editor "open -W -n".
Diogenes
Verwenden Sie eine andere Shell?
Alternative
5
In meinem Fall verwende ich zshso offensichtlich, dass ich die .zshrcKonfigurationsdatei aktualisieren muss .
Malloc
3
Verwenden Sie Anführungszeichen, wenn der Pfad zu Ihrem Editor Leerzeichen enthält, z. B. "echo "export EDITOR=\"/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl\"" >> ~/.bashrc" und Sie müssen Ihre .bashrc möglicherweise neu laden mit:source ~/.bashrc
Mars Redwyne
Danke, ich habe den Nano-Editor standardmäßig eingestellt. So fügen Sie es zu OSX hinzu: http://hints.macworld.com/article.php?story=20021017065800302
Micer
28

Verwenden Sie git config --global core.editor mate -woder git config --global core.editor openwie @dmckee in den Kommentaren vorschlägt.

Referenz: http://git-scm.com/docs/git-config

Ionuț G. Stan
quelle
3
... und openwenn Sie es auf "Verwenden " setzen, erhalten Sie automatisch den Finder-Standard. Änderungen im Finder werden also auf natürliche Weise weitergegeben.
dmckee --- Ex-Moderator Kätzchen
4
openverwendet Launch Services, um den Dateityp zu bestimmen, hauptsächlich basierend auf seiner Erweiterung. Wenn die Datei eine unbekannte Erweiterung hat, kann die Datei nicht geöffnet werden. Im Allgemeinen sollte Ihr CLI-Editor etwas sein, das Textdateien voraussetzt ...
Gordon Davisson
Einige (sehr) explizite Anweisungen wären sehr hilfreich ... die Referenz ist äußerst knapp.
Diogenes
2
@Diogenes: Siehe meine Antwort in einem anderen Beitrag, wenn Sie noch explizitere Hilfe benötigen: stackoverflow.com/questions/6435246/…
X-Istence
4
Besser sein git config --global core.editor "open -W"(sonst bekommst du einen Aborting commit due to empty commit message.Fehler).
Rsenna
18

Für OS X und Sublime Text

Zur sublVerfügung stellen.

Gib das ein ~/.bash_profile

[[ -s ~/.bashrc ]] && source ~/.bashrc

Gib das ein ~/.bashrc

export EDITOR=subl
Kirk Strobeck
quelle
Ich habe festgestellt, dass dies nicht richtig funktioniert chsh. Die Datei wird geöffnet, aber alle Änderungen gehen verloren. Ich musste chsh -s /bin/zshMuscheln manuell wechseln.
Cryptc
9

Für alle, die 2018 hierher kommen:

  • Gehen Sie zu iTerm -> Einstellungen -> Profile -> Erweitert -> Semantische Geschichte
  • Wählen Sie in der Dropdown-Liste Mit Editor öffnen und in der rechten Dropdown-Liste den Editor Ihrer Wahl
Alexander
quelle
5

Stellen Sie Ihren Editor so ein, dass er auf dieses Programm verweist:

/Applications/TextEdit.app/Contents/MacOS/TextEdit

Bei SVN sollten Sie die SVN_EDITORUmgebungsvariable auf Folgendes setzen:

$ export SVN_EDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit

Wenn Sie dann versuchen, etwas festzuschreiben, wird TextEdit gestartet.

Pablo Santa Cruz
quelle
1
Ich würde bevorzugen /usr/bin/open, weil das den Finder Standard verwenden wird , was auch immer Sie es einrichten.
dmckee --- Ex-Moderator Kätzchen
Wie würden Sie das gleiche für Git tun?
Diogenes
Das erste wie ist nur EDITOR = zu setzen, aber was tippe ich für die zweite Zeile?
Benutzer
0

Wenn Sie möchten, dass der Editor mit Git-Operationen arbeitet, reicht das Festlegen der $EDITORUmgebungsvariablen möglicherweise nicht aus, zumindest nicht im Fall von Sublime. Wenn Sie beispielsweise eine Neubasis durchführen möchten, wird nur angezeigt, dass die Neubasis erfolgreich war, aber Sie haben gewonnen. ' Wenn Sie keine Möglichkeit haben, die Datei auf irgendeine Weise zu bearbeiten, wird sie von git sofort geschlossen:

git rebase -i HEAD~
Successfully rebased and updated refs/heads/master.

Wenn Sie möchten, dass Sublime ordnungsgemäß mit git funktioniert, sollten Sie es wie folgt konfigurieren:

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

Ich bin hierher gekommen, um das zu suchen und habe die Lösung in diesem Kern auf Github gefunden .

mrapacz
quelle