J'utilise Emacs fonctionnant dans un urxvt, et je ne peux pas faire fonctionner l'italique dans Emacs bien que le terminal le supporte.
Voici ma configuration actuelle:
- Je n'ai pas défini
$TERM
, c'est donc la valeur par défautrxvt-unicode-256color
. - My
~/.Xdefaults
définitURxvt.font: xft:Inconsolata:size=15
comme la police du terminal. - Courir
echo '\e[3mitalics\e[m'
dans la coquille en effet les rendementsitalics
, donc italique dans le terminal do travail, essentiellement.
Lors de la personnalisation du visage « italique », il ne fait aucune différence si je choisis italic
, oblique
, normal
ou roman
comme la valeur de l' Slant
attribut, ni il ne si je ne mets pas l' Slant
attribut du tout. J'ai également essayé cela en combinaison avec la définition explicite URxvt.italicFont
dans mon ~/.Xdefaults
, mais en vain.
Le gras fonctionne bien, l'italique ne fonctionne pas du tout. Des idées?
Réponses:
En bref: vous ne pouvez pas avec la version actuelle d'Emacs (vérifié avec 23.2), mais voir ci-dessous pour une solution de contournement possible.
Histoire plus longue: la prise en charge de l'italique est codée dans la base de données terminfo en tant que capacités (
sitm
saisir l'italique) etritm
(quitter l'italique) (également appeléesZH
etZR
pour la compatibilité termcap); vous pouvez vérifier que votre terminal les prend en charge via:Si ceux-ci ne sont pas présents, la
rxvt-unicode-256color
description de votre terminal ne fournit pas d'informations à la bibliothèque ncurses sur les capacités en italique du terminal et vous pouvez les ajouter, sinon aucune application TTY ne peut utiliser l'italique.Cependant, la fonction
turn_on_face
(dans les sources Emacs, fichiersrc/term.c
à la ligne 1919-2012), qui gère l'affichage du terminal, ne prend pas en charge l'italique: elle vérifie les attributs gras / faible / clignotant / souligné d'un visage. En fait, il n'y a pas d'attribut "italique" codé dansstruct face
.En effet, mon Emacs (version 23.1 sur Ubuntu 11.04 natty) montre des visages en italique (qui s'affichent correctement en X11) comme souligné dans un TTY. (Ce qui signifie que, si vous ne vous souciez pas du soulignement, vous pouvez simplement modifier la description terminfo de votre terminal pour utiliser les séquences d'échappement italiques d'entrée / sortie au lieu des séquences soulignées d'entrée / sortie et obtenir l'italique.)
la source
ESC
pas de caractère d'échappement. Vous pouvez appuyer surCtrl+V ESC
pour en insérer un, mais vous en avez rarement besoin. Par exemple, le caractère d'échappement est représenté par\E
dans la source terminfo; dans un terminal (avec bash / ksh / zsh), essayezecho $'\e[3mhello\e[0m'
.J'ajoute cette réponse parce que les autres sont obsolètes. Emacs 24.5 affiche correctement les faces italiques dans les terminaux.
C'est emacs 24.5 fonctionnant dans un terminal (
emacs -nw
). Le terminal estuxvrt
et la configuration dans mon.Xdefaults
est:la source
En ce qui concerne les emacs qui ne peuvent pas utiliser l'italique dans les émulateurs de terminaux qui fournissent cette fonctionnalité: il s'agit du bogue emacs # 9652 qui a été corrigé par Chong Yidong le 10 juin 2012.
Le correctif ne se trouve cependant dans aucune version publiée d'emacs, mais par exemple dans le package emacs-snapshot d' emacs.naquadah.org .
la source