2008-09-15 10 views
63

Je programme avec Emacs sur Ubuntu (Hardy Heron pour l'instant), et j'aime la coloration de texte par défaut dans l'interface graphique d'Emacs. Cependant, la coloration du texte par défaut lorsque Emacs est exécuté dans le terminal est différente et criarde.Comment rendre les couleurs des terminaux Emacs identiques à celles des cartes graphiques Emacs?

Comment faire pour que les couleurs du terminal correspondent aux couleurs de l'interface graphique?

+2

Je voudrais atteindre le contraire. J'aime les couleurs de syntaxe en mode '-nw'. Est-ce possible? – aL3xa

+0

Vous devez savoir quel est le thème de couleur par défaut lors de l'exécution d'Emacs avec '-nw'. – SabreWolfy

+1

Je voudrais aussi connaître la solution au problème opposé, comment puis-je définir le thème de couleur dans emacs pour ressembler au thème de couleur dans emacs -nw? –

Répondre

0

Je ne pense pas que cela soit possible de manière aussi générale. Avec le terminal, vous êtes généralement lié à des couleurs prédéfinies (avec des choses comme gnome-terminal, vous pouvez ajuster ces couleurs - mais vous êtes toujours bloqué sur un nombre prédéfini et limité de couleurs).

3

Je ne suis pas sûr si c'est possible, car l'interface graphique peut avoir plus de possibilités que le terminal (oui, j'ai vu des terminaux graphiques avec seulement 16 couleurs très récemment). Cela peut dépendre de la façon dont le terminal est défini. En tout cas, je voudrais jouer avec Color Theme.

Quoi qu'il en soit, pourquoi utilisez-vous Emacs à la fois dans le terminal et dans l'interface graphique? En général, les gens trouvent l'un ou l'autre attrayant et n'utilisent que celui-là. Si vous utilisez Emacs à distance, vous pouvez peut-être l'exécuter localement et utiliser Tramp pour ouvrir des fichiers à distance ou en tant qu'utilisateur root.

+0

Un cas d'utilisation commun est d'utiliser la version gui localement et sur la ligne de commande à distance, peut-être imbriquée à travers plusieurs couches de connexions ssh, sur une diversité de machines. – quazgar

110

Vous n'avez pas besoin d'être collé aux 16 couleurs (ou moins) par défaut de votre terminal. Les terminaux modernes prendront en charge 256 couleurs (ce qui vous rapproche de votre interface graphique).

Malheureusement, obtenir votre terminal pour prendre en charge 256 couleurs est la partie difficile, et varie d'un terme à l'autre. This page m'a beaucoup aidé (mais il est à jour, je l'ai vraiment obtenu 256 couleurs qui travaillent dans gnome-terminal et xfce4-terminal, mais vous pouvez avoir à les construire à partir des sources.)

Une fois que vous « ai votre terminal en utilisant joyeusement 256 couleurs, l'invocation magique est mise à votre type de terminal "xterm-256color" avant invoquez emacs, par exemple:

env TERM=xterm-256color emacs -nw 

Ou, vous pouvez définir TERM dans votre fichier .bashrc:

export TERM=xterm-256color 

Vous pouvez vérifier si cela a fonctionné dans emacs en faisant M-x list-colors-display, qui vous montrera soit 16, soit toutes les 256 couleurs glorieuses.

Si cela fonctionne, alors regardez color-theme comme quelqu'un d'autre suggéré.

(Vous aurez probablement frustrés à un moment donné, Dieu sait que je fais chaque fois que j'essaie de faire quelque chose de similaire mais le bâton avec elle;.. Ça vaut le coup)

+2

C'est génial, j'ai ajouté "export TERM = xterm-256color" à mon .profile, donc je n'ai pas besoin de l'exécuter à chaque fois. –

+0

Mon héros, merci – Drew

+0

Vous pouvez également faire 'TERM = xterm-256color emacs' pour lancer Emacs avec un terminal de 256 couleurs sans exporter la variable d'environnement. – SabreWolfy

0

Une petite réponse tardive, mais j'ai eu la problème avec le fond noir apparaissant comme gris. Je l'ai réparé en jouant avec la palette.

éditer> Préférences de profils> Couleur> Palette