Estou usando o Emacs executando em um urxvt e não consigo que o itálico funcione no Emacs, embora o terminal o suporte.
Aqui está minha configuração atual:
- Eu não configurei
$TERM
, então é o padrãorxvt-unicode-256color
. - Meu
~/.Xdefaults
defineURxvt.font: xft:Inconsolata:size=15
como a fonte do terminal. - Correndo
echo '\e[3mitalics\e[m'
no shell de fato rendimentositalics
, de modo itálico no terminal de fazer o trabalho, basicamente.
Ao personalizar a face “itálico”, não faz qualquer diferença se eu selecionar italic
, oblique
, normal
, ou roman
como o valor para o Slant
atributo, nem se eu não definir o Slant
atributo de todo. Eu também tentei isso em combinação com a definição explícita URxvt.italicFont
no meu ~/.Xdefaults
, mas sem sucesso.
Negrito funciona bem, itálico não funciona. Alguma ideia?
Respostas:
Resumindo: você não pode com a versão atual do Emacs (marcada com 23.2), mas veja abaixo uma possível solução alternativa.
História mais longa: o suporte a itálico é codificado no banco de dados terminfo como os recursos
sitm
(digite itálico) eritm
(sai em itálico) (também chamadosZH
eZR
para compatibilidade com termcap); você pode verificar se o seu terminal os suporta via:Se eles não estiverem presentes, a
rxvt-unicode-256color
descrição do seu terminal não fornecerá à biblioteca ncurses informações sobre os recursos em itálico do terminal e você poderá adicioná-los, caso contrário, nenhum aplicativo TTY poderá usar itálico.No entanto, a função
turn_on_face
(nas fontes do Emacs, arquivosrc/term.c
na linha 1919--2012), que gerencia a exibição do terminal, não fornece suporte para itálico: verifica atributos em negrito / dim / piscando / sublinhado de uma face. Na verdade, não há nenhum atributo "itálico" codificado emstruct face
.De fato, meu Emacs (versão 23.1 no Ubuntu 11.04 natty) mostra rostos em itálico (que são exibidos corretamente no X11), conforme sublinhado em um TTY. (O que significa que, se você não se importa com o sublinhado, basta alterar a descrição da terminof do seu terminal para usar as seqüências de escape de itálico de entrada / saída em vez das sublinhadas de entrada / saída e obter itálico.)
fonte
ESC
não insere um caractere de escape. Você pode pressionarCtrl+V ESC
para inserir um, mas raramente precisa. Por exemplo, o caractere de escape é representado por\E
na fonte terminfo; em um terminal (com bash / ksh / zsh), tenteecho $'\e[3mhello\e[0m'
.Estou adicionando esta resposta porque as outras estão desatualizadas. O Emacs 24.5 exibe corretamente faces em itálico nos terminais.
Este é o emacs 24.5 rodando em um terminal (
emacs -nw
). O terminal éuxvrt
e a configuração em meu.Xdefaults
é:fonte
Em relação ao emacs não capaz de utilizar itálico em emuladores de terminal que fornecem essa funcionalidade: Este é o bug # 9652 do emacs que foi corrigido por Chong Yidong em 10 de junho de 2012.
A correção não está em nenhuma versão lançada do emacs, mas, por exemplo, no pacote emacs-snapshot de emacs.naquadah.org .
fonte