Почему gnome-терминал отображает escape-символ Unicode?

Более конкретно, в Vim, если я дважды нажимаю escape (и при некоторых других обстоятельствах), я получаю этот символ:

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

Его можно скопировать, набрав echo, затем Ctrl-V, затем escape

Вот как это выглядит:

выходной терминал

Я попытался изменить шрифт и настройки TERM, ни один из которых не имеет значения. Никакие другие терминалы, которые я пробовал (xterm, urxvt, эта консоль KDE), не имеют такого поведения.

То, что я хотел бы знать, является ли это ошибкой или предполагаемым поведением, и если есть какие-либо обходные пути

2 ответа

Решение

Это намеченное поведение. Ни одна гарнитура не предоставляет глифа для этой кодовой точки, поэтому механизм шрифтов генерирует глиф по умолчанию "codepoint-in-a-box".

Я столкнулся с подобной проблемой, потому что в свое время я модифицировал свой.vimrc, чтобы он хорошо играл с MINTTY. Как ни странно, эти модификации обычно не являются проблематичными в gnome-терминал, но они, если он работает на ARM.

В моем случае, комментируя этот раздел моего.vimrc это исправили:

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

Если вы изменили эти значения, вы можете попробовать удалить эти изменения

Другие вопросы по тегам