
Der Grund für meine Frage ist, dass sie für die meisten Dinge ähnlich aussehen, außer bei Verwendung der Thunderbird External Editor Extension (mit dem als bezeichneten Editor emacsclient -c
). Das Schließen des mit dieser Emacsclient-Instanz erstellten Frames mit C-x C-c
( C-x #
funktioniert manchmal nicht?) löscht auch den mit diesem Frame verknüpften Puffer (nicht das übliche Emacsclient-Verhalten).
Und im Allgemeinen C-x C-c
wird der Frame einfach geschlossen, sofern in diesem Frame kein anderer Puffer besucht wird. Danach C-x C-c
wird versucht, alle Emacs zu schließen. Wie versuche ich, dieses Verhalten zu verstehen?
Antwort1
In Emacs können Sie Hilfe zu jeder Taste erhalten, indem Sie Ch k drücken und dann die gewünschte Tastenkombination eingeben. Wenn Sie Ch k Cx # drücken, erhalten Sie Folgendes:
Cx # führt den Befehl server-edit aus, eine interaktive kompilierte Lisp-Funktion in „server.el“.
Es ist an Cx# gebunden.
(Server-Edit & optionales ARG)
Wechseln Sie zum nächsten Server-Bearbeitungspuffer. Sagen Sie „Fertig“ für den aktuellen Puffer. Wenn ein Serverpuffer aktuell ist, wird er als „Fertig“ markiert und optional gespeichert. Der Puffer wird auch gelöscht, wenn er nicht existierte, bevor die Clients ihn angefordert haben. Wenn alle Puffer eines Clients als „Fertig“ markiert sind, wird der Client benachrichtigt.
Temporäre Dateien wie MH-Dateien werden immer gespeichert und gesichert, ohne dass Fragen gestellt werden. (Die Variable „make-backup-files“ verhindert, wenn sie null ist, trotzdem eine Sicherung; Sie können sie lokal in einem bestimmten Puffer festlegen, um eine Sicherung dafür zu verhindern.) Die Variable „server-temp-file-regexp“ steuert, welche Dateinamen als temporär betrachtet werden.
Wenn es mit einem Präfixargument aufgerufen wird oder wenn kein Serverprozess läuft, wird der Serverprozess gestartet und das ist alles. Wird von Cx # aufgerufen. Cx # führt den Befehl server-edit aus, eine interaktive kompilierte Lisp-Funktion in „server.el“.
Gleiches gilt für Cx Cc
Cx Cc führt den Befehl save-buffers-kill-terminal aus, eine interaktive kompilierte Lisp-Funktion in „files.el“.
Es ist an Cx Cc gebunden.
(Puffer speichern, Terminal töten und optionales ARG)
Bieten Sie an, jeden Puffer zu speichern, und beenden Sie dann die aktuelle Verbindung. Wenn der aktuelle Frame keinen Client hat, beenden Sie Emacs selbst.
Mit dem Präfix ARG alle Dateibesuchspuffer stillschweigend speichern und dann beenden.
Wenn emacsclient mit einer Liste zu bearbeitender Dateinamen gestartet wurde, werden nur diese Dateien zum Speichern aufgefordert.