Por que o gnome-terminal exibe um caractere de escape unicode?

2

Mais especificamente, no Vim, se eu pressionar escape duas vezes (e sob outras circunstâncias também), eu mostro esse personagem:

http://www.fileformat.info/info/unicode/char/1b/index.htm

Pode ser replicado digitando echo, depois Ctrl-V e, em seguida, escape

Aqui está o que parece:

saída terminal

Tentei alterar a fonte e a configuração do TERM, nenhuma das quais faz diferença. Nenhum outro terminal que eu tentei (xterm, urxvt, esse console do KDE) tem o mesmo comportamento.

O que eu gostaria de saber é se isso é um bug ou um comportamento pretendido e se há alguma solução alternativa

benwh
fonte
Em uma nota relacionada, para quem está tendo o mesmo problema com o Vim, a causa é a visualbellconfiguração. Colocar set novisualbellno vimrc parece classificá-lo
benwh
Este é um bug conhecido no vte (gnome-terminal): bugzilla.gnome.org/show_bug.cgi?id=403130 .
egmont 30/10

Respostas:

2

É o comportamento pretendido. Nenhum tipo de letra fornece um glifo para esse ponto de código; portanto, o mecanismo de fonte gera o glifo "codepoint-in-a-box" padrão.

Ignacio Vazquez-Abrams
fonte
11
Portanto, o comportamento pretendido de todas as outras aplicações de terminal é suprimi-lo?
benwh
11
Eles usam um mecanismo de fonte diferente.
Ignacio Vazquez-Abrams
11
@ benwh: Não tenho certeza se existe mesmo um "comportamento pretendido" para esse personagem específico. ESCé o primeiro byte de todas as "seqüências de escape" que controlam o comportamento do terminal (mover o cursor, definir cores etc.) - tecnicamente, quando um programa gera um valor vazio ESC, o terminal o vê como uma sequência de escape inválida e pode optar por imprimi-lo fora ou para descartá-lo.
grawity
11
como todos os outros emuladores de terminal sabem o que fazer com isso?
Quinn Wilson
@QuinnWilson: Eles não. Eles simplesmente não exibem nada, pois esse é o comportamento de seus mecanismos de fonte.
Ignacio Vazquez-Abrams
0

Eu encontrei um problema semelhante porque havia modificado meu .vimrc há algum tempo no passado para jogar bem com o MINTTY. Estranhamente, essas modificações geralmente não são problemáticas no terminal gnome, mas ocorrem se estiverem sendo executadas no ARM.

No meu caso, comentar esta seção do meu .vimrc corrigiu:

let &t_ti.="\e[1 q"                                                                                                   
let &t_SI.="\e[5 q"                                                                                                   
let &t_EI.="\e[1 q"                                                                                                   
let &t_te.="\e[0 q"                   

Se você modificou esses valores, tente remover essas modificações

MatrixManAtYrService
fonte