Kurzform: Ich möchte die Mac OSX-Version von Emacs, die unter http://emacsformacosx.com/ zu finden ist, als Daemon ausführen und Grafik- und Text-Clients nach Bedarf verbinden.
Im Detail ist hier der Workflow, den ich möchte:
Führen Sie beim Anmelden den Befehl aus,
/Applications/Emacs.app/Contents/MacOS/Emacs --daemon
um Emacs als Dämon zu starten. Ich weiß schon, wie das geht .Wenn ich Emacs von einem lokalen Terminal aus laufen lasse, möchte ich eine der folgenden Möglichkeiten haben:
- Wenn ich
emacs
an einer lokalen Eingabeaufforderung ausführe , öffne ich einen neuen Frame mit der ausgewählten Datei. - Wenn Nummer 1 nicht möglich ist
emacsclient
, öffnen Sie , zumindest wenn ich über die Befehlszeile rufe, einen neuen Frame mit der ausgewählten Datei.
- Wenn ich
Wenn ich Emacs von einem entfernten Terminal aus laufen lasse, möchte ich, dass ein Emacs im Textmodus gestartet wird, der mit dem Dämonprozess verbunden ist.
Verwenden Sie
Emacs.app
den im Hintergrund ausgeführten Emacs-Daemon erneut, anstatt eine neue Instanz zu starten, und öffnen Sie ein neues Fenster.
Bisher bin ich nur in der Lage, die Punkte 1 und 2.2 zu erreichen, aber das sind die einfachen Teile. # 3 und # 4 sind die Dinge, die am meisten benötigt werden, um diese Arbeit zu machen. Weiß jemand, wie man diese Dinge vollbringt?
M-x server-start
einen Emacs starten, ohne--daemon
in den Servermodus zu wechseln. Gute Fragen, übrigens.(server-start)
Ihre .emacs so ein, dass sie beim Start von emacsaAntworten:
Ja, Sie möchten emacsclient verwenden. Fügen Sie die Option -c hinzu, um einen neuen Frame zu erhalten. Ich habe einen Alias, der es schneller macht und emacsclient anweist, nicht auf die Rückkehr des emacs-Servers zu warten:
emacsclient -nw
em
Alias.Aktualisieren:
In diesem Tipp erfahren Sie, wie Sie mit Platypus einen App-Wrapper um emacsclient erstellen. Sie können dann "Öffnen mit ..." verwenden , um mit Ihrem neuen App-Wrapper zu starten.
quelle
Ja, hier ist eine ziemlich ausführliche Erklärung, wie man das gut macht. Ich habe verschiedene Methoden ausprobiert, um es zum Laufen zu bringen, aber nicht besser als hier beschrieben.
https://gist.github.com/304964
Prost!
quelle
Für 4. fügen Sie dies in Ihren .emacs ein:
Die Lösung zum Erstellen einer Mac-App (mit Platypus) funktioniert nicht, da Mac dieselbe Anwendung nicht zweimal öffnen kann.
quelle
open -a Emacs.app
ist sicherlich das, was ich tue, aber um im selben Instanz- / Daemon-Hintergrund eines vorhandenen Emacs geöffnet zu werden, muss ich(setq ns-pop-up-frames nil)
in mein schreiben,.emacs
wie ich es in meiner Antwort geschrieben habe. Andernfalls wird trotzdem ein neues Fenster erstellt, mit oder ohne-n
.