Wie kann ich Emacsclient nur ein Fenster für einen vorhandenen Emacs-Daemon öffnen, ohne eine neue Datei zu öffnen

7

Ich benutze einen Emacs-Daemon, um meine Emacs-Sitzung beizubehalten, selbst wenn ich den Rechner neu starten muss, auf dem ich meinen X-Server betreibe, oder wenn ich von einem anderen Rechner aus auf dieselbe Sitzung zugreifen möchte. Das funktioniert sehr gut, aber beim Wiederherstellen einer Sitzung würde ich gerne einfach "emacsclient --create-frame --no-wait" ausführen, um eine Verbindung zum Daemon herzustellen, ohne eine neue Datei zu öffnen. Es lässt mich nicht ohne Angabe eines Dateinamens davonkommen.

Ich habe versucht, mit --eval eine Funktion auszuführen, anstatt eine Datei zu öffnen, aber das Fenster verschwindet erst, wenn die Auswertung abgeschlossen ist.

(Emacs 23.1 über Backports unter Debian GNU / Linux 5.0.)

    
Mike Crowe 13.07.2010, 13:52
quelle

4 Antworten

11

Aus der Hilfe von emacsclient haben Sie einige Möglichkeiten. Erstens, ist die bereits erwähnte, die emacsclient -c ist. Das wird versuchen, einen mit dem Emacs-Daemon assoziierten Rahmen zu erzeugen. Der Vorteil ist, dass, wenn DISPLAY nicht gesetzt ist, Emacs im Terminal geöffnet werden.

Was uns zur nächsten Option führt (besonders, wenn Sie sich remote anmelden): emacsclient -t , was emacs dazu zwingt, sich im Terminal-Modus zu öffnen, selbst wenn DISPLAY gesetzt ist.

Bedenken Sie auch, dass Sie die Anzeige auch über die Befehlszeile einstellen können. Ich benutze dies oft, wenn ich mich von VNC aus anmelde. Der vollständige Befehl wäre emacsclient -d DISPLAY -c

    
bnbeckwith 13.07.2010, 16:19
quelle
5

emacsclient -c funktioniert für mich.

    
offby1 13.07.2010 14:42
quelle
2

emacsclient -n -e "(make-frame)"

Das -n -Flag bedeutet, dass emacsclient nicht wartet und die Emacs-Instanz den Frame nicht zerstört.

    
Edric 13.07.2010 14:03
quelle
2

Wenn Sie emacs über die Befehlszeile verwenden, sollten Sie auch emacsclient -t

berücksichtigen     
yonkeltron 13.07.2010 18:22
quelle

Tags und Links