Vim 配色方案和 SAS 程序

Vim 配色方案和 SAS 程序

我遇到一个问题,当我在 Vim 中打开 SAS 程序(.sas 文件)时,颜色看起来非常难看(白色和黑色背景混合等)。

例如:当我打开 SAS 文件时,vim 就是这样的 ( setf=sas)

当我打开 SAS 文件 (setf=sas) 时 vim 的样子如下

我的配色方案是 koehler。

我尝试过改变配色​​方案,但随后发生了以下情况:

当我运行 :colo delek 时,vim 看起来像这样。语法高亮似乎消失了。

因此我运行:setf sas,并且语法高亮再次出现并显示正确的颜色。

所以我运行:setf sas,语法高亮再次出现并显示正确的颜色。

我不确定这里的根本问题是什么:它可能是颜色方案“koehler”中的一个问题,但是,由于当我更改颜色方案时语法突出显示就会消失,所以它可能是 filytype 检测中的一个问题。

我该如何解决?

我可以以某种方式配置 vim 以对特定文件类型使用不同的配色方案吗?(例如对 .sas 文件使用 delek?)

更新 2015-05-15:显然,该问题仅发生在 gvim 中,而不是在终端中运行的 Vim 中。我这里有一张屏幕截图,显示了当我从终端在 Vim 中打开 .sas 文件时的情况:https://i.stack.imgur.com/AALq4.jpg

更新 2016-01-15

通过编辑 sas.vim 并将所有常量颜色定义更改为 HiLinks 解决了问题:

HiLink sComment Comment
HiLink sCard    String
HiLink sDate_Time   Special
HiLink sKeyword Structure
HiLink sFmtInfmt    Special
HiLink sString  String
HiLink sText    String
HiLink sNumber  Number
HiLink sProc    Structure
HiLink sSection Structure
HiLink mDefine  Define
HiLink mKeyword Structure
HiLink mReference   Structure
HiLink mSection Structure
HiLink mText    String

答案1

解释这种行为

语法高亮旨在修改颜色方案。默认的 SAS 语法高亮旨在修改正常颜色方案(如我使用的),然后适合显示data为白底蓝色。在反向视频方案中,例如koehler,则不是。

当您将配色方案更改为普通配色方案时,vim 会丢弃语法高亮,因为它可能与新选择的配色方案不兼容。

你可以解决这个问题

通过创建 SAS 的反向视频自定义语法突出显示。为此,请编辑sas.vim文件(在我的 Windows 系统上C:\Program Files (x84)\vim74\syntax,将所有设置guibgBlack,替换guifg=Blue guifg=LightBlue并应用类似的更改,直到看起来不错

相关内容