Ich habe git config --global core.editor emacs
meinen Git-Editor als Emacs festgelegt, aber wenn ich das tue und etwas festschreibe, öffnet der Editor ein neues Fenster, anstatt Emacs im Terminal zu öffnen. Ich möchte Emacs so verwenden, als ob -nw gegeben wäre, aber dies zu schreiben -> git config --global core.editor emacs -nw
ist nicht die Lösung.
Ich muss jetzt Basic Git verwenden.
Antworten:
Wenn Sie ausführen
git config --global core.editor emacs -nw
, teilt Ihre Shell die Befehlszeile in Wörter auf, bevor Sie git aufrufen. Git sieht "emacs -nw" daher als zwei separate Argumente. Es muss nur einer in die Konfigurationsdatei eingefügt werden, der andere wird ignoriert. (Eigentlich ist das eine Lüge, aber Sie können die Manpage auf Details überprüfen.) Sie können eine Reihe von Wörtern in Anführungszeichen setzen, um Ihrer Shell zu sagen, dass sie sie nichtgit config --global core.editor "emacs -nw"
auflösen sollen : Geben Sie "emacs -nw" als einziges Argument an git wird tun was du willst.quelle
Sie geben nicht an, was beim Öffnen eines neuen GUI-Emacs-Fensters falsch ist. Wenn das Problem die lange Startzeit ist, können Sie emacsclient als Editor verwenden.
(server-start)
Kurz gesagt, Sie führen Ihre Emacs-Init-Datei aus, lassen Ihre regulären GUI-Emacs geöffnet und weisen git an, einen Editor namens emacsclient zu verwenden. Was passiert ist, dass die bearbeitete Datei in einem neuen Puffer in Ihren laufenden Emacs angezeigt wird. Nachdem Sie damit fertig sind, drücken SieC-x #
, um die Emacsclient-Sitzung zu beenden, und dann weiß git (oder ein anderer Shell-Prozess, der den Editor gestartet hat), dass der Editor "emacsclient" mit der Datei fertig ist und fährt mit seiner Sache fort. ("emacsclient" ist auch ein Wort, also löst es auch Ihr unmittelbares Problem)Auch wenn Ihre Bearbeitung im Terminalfenster erfolgen muss, können Sie
emacsclient -nw
die lange Startzeit ausführen und eliminieren. Es gibt mehr Möglichkeiten,man emacsclient
ist eine gute Lektüre.quelle