如何让vim显示语法高亮?
06.2 颜色显示不出来或者显示出错误的颜色怎么办?
有很多因素会让你看不到颜色:
- 你的终端不支持彩色。
这种情况下,Vim 会用粗体,斜体和下划线区分不同文字,但这不好看。你可能
会希望找一个支持彩色的终端。对于 Unix,我推荐 XFree86 项目的 xterm:
|xfree-xterm|。 - 你的终端其实支持颜色,可是 Vim 不知道
确保你的 $TERM 设置正确。例如,当你使用一个支持彩色的 xterm 终端:
setenv TERM xterm-color
或者(基于你用的控制台终端)
TERM=xterm-color; export TREM
终端名必须与你使用的终端一致。如果这还是不行,参考一下 |xterm-color|,
那里介绍了一些使 Vim 显示彩色的方法(不仅是 xterm )。 文件类型无法识别
Vim 不可能识别所有文件,而且有时很难说一个文件是什么类型的。试一下这个
命令:
:set filetype
.
如果结果是 "filetype=",那么问题就是出在文件类型上了。你可以手工指定
文件类型:
:set filetype=fortran
要知道那些类型是有效的,查看一下 $VIMRUNTIME/syntax 目录。对于 GUI 版本,
你还可以使用 Syntax 菜单。设置文件类型也可以通过 |modeline|,这样,
在你每次编辑它的时候都执行语法加亮。例如,下面这一行可以用
于 Makefile(把它放在接近文首和文末的地方)vim: syntax=make
你可能知道怎么检测自己的文件类型,通常是文件的扩展名(就是点后面的
内容)参见 |new-filetype| 可以知道如何告诉 Vim 如何检查一种文件类型。- 你的文件类型没有语法高亮定义
你可以找一个相似的文件类型并人工设置为那种类型。如果你觉得不好,你可以
自己写一个,参见 |mysyntaxfile|。
或者颜色是错的: - 彩色的文字难以辨认
Vim 自动猜测你使用的背景色。如果是黑的(或者其它深色的色彩),它会
用浅色作为前景色。如果是白的(或者其它浅色),它会使用深色作为前景
色。如果 Vim 猜错了,文字就很难认了。要解决这个问题,设置一下
'background' 选项。对于深色:
:set background=dark
而对于浅色:
:set background=light
这两个命令必须在 ":syntax enable" 命令前调用,否则不起作用。如果要在
这之后设置背景,可以再调用一下 ":syntax reset"。 - 在自下往上滚屏的过程中颜色显示不对。
Vim 在分析文本的时候不对整个文件进行处理,它只分析你要显示的部分。这
样能省不少时间,但也会因此带来错误。一个简单的修正方法是敲 CTRL-L。
或者往回滚动一下再回来。要彻底解决这个问题,请参见 |:syn-sync|。有些
语法定义文件有办法自己找到前面的内容,这可以参见相应的语法定义文件。
例如,|tex.vim| 中可以查到 Tex 语法定义。