为什么 gnome-terminal 显示 unicode 转义字符?

为什么 gnome-terminal 显示 unicode 转义字符?

更具体地说,在 Vim 中,如果我按两次 Esc 键(在某些其他情况下也是如此),就会出现这个字符:

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

可以通过输入 echo,然后按 Ctrl-V,然后按 escape 来复制

它看起来是这样的:

终端输出

我尝试过更改字体和 TERM 设置,但都没有什么效果。我尝试过的其他终端(xterm、urxvt、KDE ​​控制台)都没有同样的行为。

我想知道这是一个错误还是有意为之,以及是否有任何解决方法

答案1

这是预期行为。没有字体为该代码点提供字形,因此字体引擎会生成默认的“框中代码点”字形。

答案2

我遇到了类似的问题,因为我之前曾修改过 .vimrc 以便与 MINTTY 配合良好。奇怪的是,这些修改在 gnome-terminal 中通常不会有问题,但如果它在 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"                   

如果你修改了这些值,你可以尝试删除这些修改

相关内容