GNU Emacs; Bietet die GUI-Version mehr als die Möglichkeit, ein GUI-Menü zu haben?

25

Ich habe suche jetzt für ein paar Monate auf GNU Emacs, ein und aus (vor allem aus), und ich habe wirklich nur so weit wie die Prüfung ein paar grundlegende Dinge weg , die ich vor allem in einem Editor will ... Ich bin Langsam wird seine Topographie erkennbar und es fängt an, einen (guten) Sinn zu ergeben.

Die Hauptsache, die mir aufgefallen ist, ist, dass es in der X-GUI-Version genauso zu funktionieren scheint wie in der X-Terminal-Version (und ich vermute, dass es in einer Nicht-GUI-Umgebung ziemlich ähnlich wäre). .

Ich dachte ursprünglich, dass es mir sehr unangenehm sein würde, in einem Editor ohne GUI zu arbeiten, und das war der Fall, aber je mehr ich mich in den Gewässern des Emacs beschäftige, desto weniger wird der Bedarf ... also sehe ich es mir jetzt an vom anderen Ende des Sticks ... Ich konzentriere mich darauf, hauptsächlich in der Terminal-Version zu arbeiten.

Meine Frage ist: Abgesehen von dem offensichtlichen GUI-Menü (das sich als unnötig herausgestellt hat), gibt es einen bemerkenswerten Unterschied zwischen den Versionen (X-GUI, X-Terminal und No-GUI)? *

Peter.O
quelle

Antworten:

28

Früher gab es mehr Einschränkungen, aber seit GNU Emacs 23 kann die Textmodus-Oberfläche das meiste, was die GUI-Oberfläche kann. Seit GNU Emacs 23 können Sie auch X-Frames und Textmodus-Frames in derselben Emacs-Instanz kombinieren.

Das Ausführen in einem Terminal beschränkt die Eingabetastenkombinationen, die Emacs erkennen kann, da der Terminalemulator häufig nicht für alle Tastenkombinationen unterschiedliche Escape-Sequenzen überträgt. Die meisten Terminal - Emulatoren unterstützen nicht alle Kombinationen von Modifikatoren mit ASCII - Zeichen (Dinge wie C-S-aoder C-;oder Modifikatoren außer Ctrl, Shiftund Meta/ Alt). Sie können nicht unterscheiden tabvon C-ioder backspaceaus DEL(oder in C-hAbhängigkeit von dem Terminal - Emulator - Setup). Es gibt einen vorgeschlagenen Standard für die systematische Codierung von Escape-Sequenzen, der jedoch von vielen gängigen Terminals nicht unterstützt wird .

In einem Terminal werden Sie fett, möglicherweise kursiv und unterstrichen dargestellt, und es werden so viele Farben unterstützt, wie das Terminal unterstützt. Unter X kann Emacs mehrere Schriftarten verwenden und Bilder anzeigen . Ob das nützlich ist oder nicht, ist meistens eine persönliche Präferenz. Klopfen Sie nicht, bis Sie versucht haben, LaTeX-Schriften zu sperren (in AUCTeX ) und mathematische Symbole und Diagramme mit x-symbol zu rendern (ich habe es versucht und es nicht gemocht). Wenn Sie Emacs als Browser verwenden , ist die Bildunterstützung von Vorteil (oder auch nicht).

In einem Terminal sind Sie durch die Codierungsunterstützung des Terminals eingeschränkt (aber die meisten unterstützen heutzutage zumindest grundlegende Unicode-Funktionen). Die X - Schnittstelle können Emacs seine eigene wählen Schriftarten und sie in mischen fontsets ; Dies ist nützlich, wenn Sie mehrsprachige Dokumente bearbeiten, die nicht von einer einzigen Schriftart abgedeckt werden. Ich habe nicht genug Erfahrung mit nicht-lateinischen Sprachen, um zu sagen, ob Emacs besser als Ihr typischer Terminal-Emulator mit „schwierigen“ Sprachen zurechtkommt (Kombination von Zeichen, doppelter Breite, von links nach rechts (was Emacs 23 nicht tut) unterstütze trotzdem, Emacs 24 sollte)).

Es gibt offensichtlich Mausunterstützung in der GUI-Oberfläche. In der Textoberfläche können Sie die Mausunterstützung einschalten, wenn Sie in einem Terminalemulator unter X mit laufen xterm-mouse-mode. Sie können auch Unterstützung für die X-Zwischenablage erhalten. Die GUI-Version verfügt über einige zusätzliche Funktionen wie QuickInfos , Mausumgehung und Kontextmenüs , die mit der Maus aktiviert werden .

Sie können die Menüleiste mit beiden Benutzeroberflächen verwenden. Die X-Version kann Symbole am oberen Rand des Rahmens (der Symbolleiste) anbringen , nicht dass ich jemals eine Verwendung für sie gesehen hätte. Im Textmodus werden auch keine Dialogfelder oder Bildlaufleisten angezeigt. Sie erhalten keinen Mehrfachrahmen-Komfort, wie z. B. Geschwindigkeitsbalken oder einen Ediff- Steuerungsrahmen.

Gilles 'SO - hör auf böse zu sein'
quelle
Danke Gilles ... schön erklärt. Das spart sicherlich eine Menge Kopfkratzer, insbesondere in Bezug auf die Tastenkombinationen (dh, dass die Umgebung bis zu einem gewissen Punkt das Sagen hat).
Peter.O
3

Mit einem Wort: Nein.

Die GUI ist nur eine einfache Menüebene, mit der Sie einige der verfügbaren Tools auf einen Blick sehen und zum Aktivieren anklicken können. Sie ist jedoch nur eine alternative Schnittstelle zum selben Programm. Die einzigen Dinge, die als zusätzliche "Merkmale" betrachtet werden könnten, sind die Integration in die Umgebung. Kopieren / Einfügen, Ziehen und Ablegen von Dateien in das Fenster, um solche Dinge zu öffnen.

Das gleiche gilt für vimvs gvim. Das Programm ist das gleiche, das Fenster ist ein schicker Wrapper mit der gleichen Leistung.

Caleb
quelle
Mein Verständnis ist, dass das Ausschneiden und Einfügen der Zwischenablage zwischen Emacs und anderen Apps unter der Terminalversion nicht funktioniert. Wenn ja, ist das ein Showstopper. Außerdem weist Gilles auf kleinere, aber immer noch wichtige Unterschiede hin.
Javadba
@javadba copy-paste, das sowohl Auswahl- als auch Zwischenablage-Register verwendet, kann so konfiguriert werden, dass es in vim in einem Terminal perfekt funktioniert. Ich stelle mir vor, dass richtig konfigurierte Emacs auch gut funktionieren.
Caleb