Einer meiner Hauptgründe für die Verwendung von Emacs ist die Schaffung einer leistungsstarken Umgebung nach dem ssh
Einbau in einen Remote-Computer. Das erste, was ich nach dem Start von Emacs mache, ist M-x shell
, eine Befehlszeile abzurufen. Da es eine Weile dauert, bis Emacs gestartet ist, ist es sehr praktisch, Emacs nach dem Parsen meiner Initialisierungsdatei zu bitten, eine Shell zu starten, wenn ich sie ausführe (ich habe einige Shell-Hooks eingerichtet, um das eine und das andere zu tun ). Idealerweise möchte ich es mit einer zusätzlichen Option ausführen können, damit ich meiner Initialisierungsdatei auf den Remotecomputern nichts Spezielles hinzufügen muss (ich könnte einen bash
Alias einrichten, wenn ich möchte). Etwas wie das:
emacs afile1 afile2 -startShell
Angesichts der Tatsache, dass das Herstellen der sicheren Verbindung etwa 30 Sekunden dauert, möchte ich die "start a shell" in den ssh
Befehl selbst einbauen und ssh
mit " -t
ein bildschirmbasiertes Programm starten" .
ssh -t me@remote emacs afile1 afile2 -startShell
Ich habe mir die Dokumentation zu Befehlszeilenargumenten für Emacs angesehen, aber ich beginne immer noch mit Emacs und Lisp sowie der Anpassung, und es war nicht sofort klar, wie mit Befehlszeilenargumenten umgegangen werden soll. Wie würde ich das machen?
( Verwandte Frage zueshell
vom Benutzer @Name erwähnt.)
ssh -t me@remote 'emacs -f shell'
funktioniert wie ein Traum.