Vim中如何启用和修复语法高亮功能?

新手上路,请多包涵

如何让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 语法定义。
阅读 767
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏