10 Jul 2016
偶然发现在公司的 CentOS 中的 vi 无法提供语法高亮,而自己的 VPS 中使用同样版本的 CentOS 却可以。
于是上网寻找解决方案。大多都说设置syntax on
即可。但这在我的 vi 中是无效的。
再次加上更多关键词搜索,发现在 vi 中是存在small version和huge version的。一般 CentOS 中默认带的 vi 都是 small version。于是升级成 huge version。依然无用。其实这些步骤都是有效的,但为什么在我这里就没有生效呢?一定是什么地方配置阻止了设置的激活。
于是再去细读 vimrc 文件。发现默认情况下如果TERM
的值为xterm
则syntax为on
。在查看当前环境变量,发现为vt100
。改为xterm
后,语法高亮好用了。
为什么我的xterm
值会设置成了vt100
呢?原来这是为了解决 screen 在 Linux 下的一个 Bug。如果TERM=xterm
,则在 screen 中按退格键时,屏幕会闪烁。
为了让 screen 和 vi 同时工作,最终设置为:
.bash_profile
export TERM=vt100
.bashrc
export TERM=xterm