ubuntu附带的GNU screen默认无法正确识别256色,导致如果在终端给vim配置了主题,容易造成vim颜色乱码。解决方法如下:

第一步 检查终端是否支持256色

请在这里下载一个perl脚本,或者在终端里使用下面的指令

wget http://robotsrule.us/vim/256colors.txt

然后输入

perl 256colors.txt

若出现

则说明终端支持256色

Step 2 修改vimrc

这一步旨在让vim支持256色

若只是修改当前用户的vim设置,请打开~/.vimrc,添加下面这行

set t_Co=256

Step 3 修改screenrc

这一步旨在让GNU screen启用256色模式

打开~/.screenrc,若之前没有此文件,直接新建即可

添加下面行:

attrcolor b ".I"
termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E38;5;%dm'
defbce "on"

无需知道这几行代码是什么作用,但是这些确实work >v<

之后新建screen,vim颜色已经正常

Step 4 使screen使用utf8

screen跟随用户使用shell的配置,如果shell使用utf8,screen也将使用utf8

所以在~/.zshrc中加入下面两行

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

再次新建screen,已经可以使用utf8了


Humble Halten