Почему 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"
Если вы изменили эти значения, вы можете попробовать удалить эти изменения