我遇到一个问题,当我在 Vim 中打开 SAS 程序(.sas 文件)时,颜色看起来非常难看(白色和黑色背景混合等)。
例如:当我打开 SAS 文件时,vim 就是这样的 ( setf=sas
)
我的配色方案是 koehler。
我尝试过改变配色方案,但随后发生了以下情况:
因此我运行: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
),将所有设置guibg
为Black
,替换guifg=Blue
guifg=LightBlue
并应用类似的更改,直到看起来不错