Emacs: Welche Funktionen oder Vorteile gibt es nur für die GUI oder die Terminalschnittstelle?

8

Emacs kann in einem eigenen GUI-Fenster oder in einem Terminal (mithilfe des -nwFlags) gestartet werden .

Welche Funktionen oder Workflow-Vorteile sind nur in dem einen oder anderen Modus verfügbar? Dh wenn ein Benutzer gewöhnlich einen Modus verwendet, was verpassen sie dann?

Ian Mackinnon
quelle

Antworten:

8

Die Terminalschnittstelle funktioniert auch dann, wenn X nicht verfügbar ist, z. B. wenn Sie über ssh von einem Computer aus arbeiten, auf dem Sie Emacs nicht installieren oder Ihre X-Konfiguration reparieren möchten, oder auf einem Hardware-Textterminal. (Wenn Sie Emacs für den Remote-Fall lokal ausführen können, erhalten Sie einen einfacheren Workflow und eine weniger störende Latenz, wenn Sie tramp verwenden , z. B. open host.example.com:/path/to/file- siehe Kapitel über Remote-Dateien im Handbuch.)

Die Terminalschnittstelle kann im Bildschirm oder in tmux ausgeführt werden , sodass Sie eine Instanz laufen lassen und eine Remoteverbindung herstellen können.

Die X-Oberfläche kann offensichtlich Dinge tun, die die Terminal-Oberfläche nicht kann, wie Bilder anzeigen, verschiedene Schriftarten verwenden, mehr Farben verwenden, ein ausgefallenes Menü und sogar Symbolleisten anzeigen, Tastenkombinationen verstehen, die Ihr Terminal möglicherweise nicht durchlässt, und feiner werden Zugriff auf die Maus, Zugriff auf die X-Zwischenablage und andere Auswahlmöglichkeiten direkt, Anzeige mehrerer Fenster (Rahmen, im Emacs-Sprachgebrauch) auf Ihrem Display, ...

Seit GNU Emacs 23 (oder XEmacs 21) müssen Sie nicht zwischen X und dem Terminal wählen : Sie können Frames auf einer beliebigen Anzahl von Textterminals und einer beliebigen Anzahl von X-Anzeigen von einer einzelnen Emacs-Instanz aus öffnen. Die übliche Methode besteht darin, einen Emacs-Server auszuführen und eine Verbindung zu diesem herzustellen emacsclient -nw, um einen neuen Frame auf dem aktuellen Textterminal oder emacsclient -ceinen neuen Frame auf der aktuellen X-Anzeige zu öffnen. In Emacs können Sie make-frame-on-displayund verwenden make-frame-on-device.

Gilles 'SO - hör auf böse zu sein'
quelle
Ich stimme zwar zu, dass einige der zusätzlichen grafischen Flusen in GUI-Emacs nett sind (aber im Grunde nur, wenn Sie zufällig mit GUI-ähnlichen Elementen wie Symbolleisten und so weiter interagieren customize-menus), aber Terminals haben einen ziemlich langen Weg zurückgelegt. Daher gelten die meisten dieser Argumente nicht mehr (siehe Kitty Terminal oder iterm). Mit guten Terminals können Sie beliebige Schlüssel an Escape-Codes binden, Ligaturen, Markups, 24-Bit-Textfarben, Integration in die Zwischenablage sowie Maus- und Bildunterstützung verwenden. Ein großer Unterschied, den ich mir vorstellen kann, ist, dass Terminals nicht mehrere verschiedene Schriftgrößen unterstützen.
rien333
1

Ich habe einige Probleme mit der Schriftfarbe und den Tastenkombinationen im -nwModus festgestellt. Ich habe sie nicht untersucht, aber ich denke, es liegt am Terminal. Wie auch immer, ich neige dazu, wenn möglich den GUI-Modus zu verwenden, und ich sehe keine Vorteile im -nwModus.

cYrus
quelle
1

Im Terminalmodus können Sie Ihre Sitzung trennen und mithilfe von erneut verbinden screen

Obwohl ich keine Emacs / Xemacs verwende, verwende ich gelegentlich VIM / GVIM, und ich bevorzuge die GUI-Version. Es scheint nur ein flüssigeres Scrollen zu sein und ich muss meine Laufzeit nicht ändern, wodurch mein Desktop davon ausgeht, dass ich alle Fenster haben möchte diese Größe.

Reiche Homolka
quelle
1

Wenn Sie Emacs im Terminal verwenden und mehrere vertikale Frames geöffnet haben, können Sie nicht mehrere Textzeilen aus einem Frame hervorheben und kopieren. Text über alle Frames hinweg wird hervorgehoben, da sich alle in einem Terminalfenster befinden.

In der GUI befinden sich Frames in separaten Fensterelementen, sodass die Hervorhebung in jedem Frame eingeschränkt ist.

Ian Mackinnon
quelle