我正在使用Vim 7.4(cmd)。我已经下载了维生素配色方案并对其进行了一些修改。但是,现在的问题是语法突出显示正常工作,除了识别identifiers
和operators
之外,比如说.cpp
文件。这是我的配色方案的代码:
1 " Maintainer: Henrique C. Alves
2 " Version: 1.1
3 " Last Change: September 23 2008
4
5 set background=dark
6
7 hi clear
8
9 if exists("syntax_on")
10 syntax reset
11 endif
12
13 let colors_name = "vitamins"
14
15 " Vim >= 7.0 specific colors
16 if version >= 700
17 hi CursorLine guibg=#2d2d2d ctermbg=237 cterm=bold
18 hi CursorColumn guibg=#2d2d2d ctermbg=236
19 hi MatchParen guifg=#f6f3e8 guibg=#857b6f gui=bold ctermbg=59
20 hi Pmenu guifg=#f6f3e8 guibg=#444444 ctermbg=242
21 hi PmenuSel guifg=#000000 guibg=#cdd129 ctermfg=0 ctermbg=184
22 endif
24 " General colors
25 hi Cursor guifg=NONE guibg=#656565 gui=none ctermbg=2
26 hi Normal guifg=#f6f3f0 guibg=#242424 gui=none ctermfg=254 ctermbg=234
27 hi NonText guifg=#808080 guibg=#303030 gui=none ctermfg=242 ctermbg=234
28 hi LineNr guifg=#5c5a4f guibg=#000000 gui=none ctermfg=239 ctermbg=234
29 hi StatusLine guifg=#f6f3e8 guibg=#444444 gui=italic ctermfg=239 ctermbg=234
30 hi StatusLineNC guifg=#857b6f guibg=#444444 gui=none
31 hi VertSplit guifg=#444444 guibg=#444444 gui=none
32 hi Folded guibg=#384048 guifg=#a0a8b0 gui=none
33 hi Title guifg=#f6f3e8 guibg=NONE gui=bold
34 hi Visual guifg=#ffffd7 guibg=#444444 gui=none ctermfg=186 ctermbg=238
35 hi SpecialKey guifg=#808080 guibg=#343434 gui=none
37 " Syntax highlighting
38 hi Comment guifg=#808080 gui=italic ctermfg=186
39 hi Todo guifg=#8f8f8f gui=italic ctermfg=245
40 hi Constant guifg=#acf0f2 gui=none ctermfg=162
41 hi String guifg=#ff5d28 gui=italic ctermfg=154
42 hi Identifier guifg=#ff5d28 gui=none ctermfg=28
43 hi Function guifg=#cdd129 gui=none ctermfg=142
44 hi Type guifg=#cdd129 gui=none ctermfg=184
45 hi Statement guifg=#af5f5f gui=none ctermfg=131
46 hi Keyword guifg=#cdd129 gui=none ctermfg=196
47 hi PreProc guifg=#ede39e gui=none ctermfg=187
48 hi Number guifg=#ede39e gui=none ctermfg=36
49 hi Special guifg=#acf0f2 gui=none ctermfg=159
第42和43行包含必要的代码。但是,函数名称,标识符和运算符仍然是白色的。有没有解决这个问题的方法,或者我在这里做错了什么?这是一个截图:
答案 0 :(得分:1)
这与你的colorscheme无关。默认的C ++语法文件($VIMRUNTIME/syntax/cpp.vim
构建在$VIMRUNTIME/syntax/c.vim
之上。这些文件都没有将任何语法组链接到您的colorscheme中定义的Identifier
和Function
组。
您需要找到更详细的语法(我不知道任何内容),或者自己编写合适的:syntax
扩展名(并将它们放入~/.vim/after/syntax/cpp.vim
),或者使用默认脚本提供的区别。
答案 1 :(得分:0)
:highlight
命令只是您需要的一部分。更难的部分是:syntax
命令。我在您的文件中没有看到任何内容,因此您依赖于.cpp
的默认定义。要查找文件中某些内容的语法组,请复制并粘贴
:help synID()
我发现.cpp
文件中的函数和变量没有定义任何语法组。