GNU Emacs; La version GUI offre-t-elle autre chose que la possibilité d'avoir un menu GUI?

25

Je regarde GNU Emacs depuis quelques mois maintenant, on et off (principalement éteint), et je ne suis vraiment allé jusqu'à tester que quelques choses de base que je veux particulièrement dans un éditeur ... Je suis en prenant lentement conscience de sa topographie, et cela commence à avoir du (bon) sens ...

La principale chose que j'ai remarquée est que cela semble fonctionner exactement de la même manière dans la version X-GUI que dans la version X-Terminal (et je soupçonne que ce serait à peu près la même chose dans un environnement non-GUI .. .

Je pensais à l'origine que je me sentirais très mal à l'aise de travailler dans un éditeur non-GUI, et cela a été le cas, mais plus je m'essaye dans les eaux d'Emacs, moins le besoin devient important ... alors je le regarde maintenant de l'autre bout du manche ... Je me concentre sur le travail principalement dans la version Terminal ..

Ma question est: à part le menu GUI évident (qui s'est avéré être tout à fait inutile), y a-t-il une différence notable entre les versions (X-GUI, X-Terminal et no-GUI)? *

Peter.O
la source

Réponses:

28

Auparavant, il y avait plus de restrictions, mais depuis GNU Emacs 23, l'interface en mode texte peut faire la plupart de ce que l'interface GUI peut faire. De plus, depuis GNU Emacs 23, vous pouvez combiner des cadres X et des cadres en mode texte dans la même instance Emacs.

L'exécution dans un terminal limite les combinaisons de touches d' entrée que Emacs peut reconnaître, car l'émulateur de terminal ne transmet souvent pas de séquences d'échappement distinctes pour toutes les combinaisons de touches. La plupart des émulateurs de terminaux ne prennent pas en charge toutes les combinaisons de modificateurs avec des caractères ASCII (des choses comme C-S-aou C-;ou des modificateurs autres que Ctrl, Shiftet Meta/ Alt). Vous ne pouvez pas distinguer tabde C-iou backspacede DEL(ou C-hselon la configuration de l'émulateur de terminal). Il existe une norme proposée pour coder les séquences d'échappement de manière systématique, mais de nombreux terminaux populaires ne la prennent pas en charge .

Dans un terminal, vous obtenez en gras, peut-être en italique et souligné, et quelle que soit la couleur prise en charge par le terminal. Sous X, Emacs peut utiliser plusieurs polices et afficher des images . Que ce soit utile ou non est surtout une préférence personnelle. Ne le frappez pas avant d'avoir essayé le verrouillage de police LaTeX (dans AUCTeX ) et le rendu de symboles et de diagrammes mathématiques via x-symbol (j'ai essayé et je n'ai pas aimé). Si vous utilisez Emacs comme navigateur , la prise en charge des images est un plus (ou non).

Dans un terminal, vous êtes limité par la prise en charge des encodages par le terminal (mais la plupart prennent au moins en charge les fonctionnalités Unicode de base de nos jours). L'interface X permet à Emacs de choisir ses propres polices et de les mélanger dans des jeux de polices ; cela est utile si vous modifiez des documents multilingues qui ne sont pas couverts par une seule police. Je n'ai pas assez d'expérience avec les langues non latines pour dire si Emacs est meilleur que votre émulateur de terminal typique pour faire face aux langues «difficiles» (combinaison de caractères, double largeur, de gauche à droite (ce que Emacs 23 ne fait pas prise en charge de toute façon, Emacs 24 devrait)).

Il y a évidemment le support de la souris dans l'interface GUI. Dans l'interface texte, vous pouvez activer la prise en charge de la souris si vous utilisez un émulateur de terminal sous X avec xterm-mouse-mode. Vous pouvez également obtenir le support du presse-papiers X. La version GUI a quelques fonctionnalités supplémentaires comme les info - bulles , l'évitement de la souris et les menus contextuels activés par la souris .

Vous pouvez utiliser la barre de menus avec l'une ou l'autre interface. La version X peut mettre des icônes en haut du cadre (la barre d'outils ), pas que j'aie jamais vu d'utilité pour eux. Vous n'avez pas non plus de boîtes de dialogue ni de barres de défilement en mode texte. Vous n'obtenez pas la commodité de plusieurs images telles que les barres de vitesse ou un cadre de contrôle ediff .

Gilles 'SO- arrête d'être méchant'
la source
Merci Gilles ... gentiment expliqué. Cela va certainement économiser beaucoup de tête, en particulier en ce qui concerne les combinaisons de touches d'entrée (c'est-à-dire que l'environnement a son mot à dire jusqu'à un certain point).
Peter.O
3

En un mot: non.

L'interface graphique n'est qu'une couche de menus pratique et telle que vous pouvez voir certains des outils dont vous disposez à un coup d'œil et cliquer pour l'activer, mais c'est juste une interface alternative au même programme. Les seules choses qui pourraient être considérées comme des "fonctionnalités" supplémentaires sont l'intégration avec l'environnement. Copiez / collez, faites glisser et déposez des fichiers dans la fenêtre pour les ouvrir, des choses comme ça.

La même chose vaut pour vimvs gvim. Le programme est le même, la fenêtre est une enveloppe de fantaisie sur la même puissance.

Caleb
la source
Ma compréhension est que le presse-papiers couper et coller entre emacs et d'autres applications est cassé sous la version du terminal. Si c'est le cas, c'est un showstopper. De plus, Gilles souligne des différences moindres mais toujours importantes.
javadba
Le copier-coller @javadba utilisant les registres de sélection et de presse-papiers peut être configuré pour fonctionner parfaitement dans vim dans un terminal. J'imagine qu'emacs correctement configuré fonctionne bien aussi.
Caleb