我想更改括号的颜色 Better Rainbow Parentheses .
颜色指定如下:
let g:rbpt_colorpairs = [
\ ['brown', 'RoyalBlue3'],
\ ['Darkblue', 'SeaGreen3'],
\ ['darkgray', 'DarkOrchid3'],
\ ['darkgreen', 'firebrick3'],
\ ['darkcyan', 'RoyalBlue3'],
\ ['darkred', 'SeaGreen3'],
\ ['darkmagenta', 'DarkOrchid3'],
…
\ ]
插件中改变颜色的函数是这样的:
func! rainbow_parentheses#toggle()
if !exists('s:active')
cal rainbow_parentheses#load(0)
endif
let afunc = exists('s:active') && s:active ? 'clear' : 'activate'
cal call('rainbow_parentheses#'.afunc, [])
endfunc
由于我使用 Solarized,所以我想要特定的十六进制颜色,所以我得到了这个:
let g:rbpt_colorpairs = [
\ ['yellow', '#b58900'],
\ ['orange', '#cb4b16'],
\ ['red', '#dc322f'],
\ ['magenta', '#d33682'],
\ ['violet', '#6c71c4'],
\ ['blue', '#268bd2'],
\ ['cyan', '#2aa198'],
…
\ ]
但是,在重新启动并打开插件时,我多次收到此错误:
E421: Color name or number not recognized: cterm=orange guifg=#cb4b16
更好的是,手动在函数中完成 :exe 的工作就像一个魅力,例如:
:exe 'hi default level4c ctermfg=orange guifg=#cb4b16'
即使使用串联它也能工作:
:let foo = '#cb4b16
:exe 'hi default level4c ctermfg=orange guifg='.foo
可能出了什么问题?!
最佳答案
问题不在于 GUI RGB 颜色,而在于 cterm=orange
定义。
请参阅 :help cterm-colors
了解已识别的值; orange
不是其中之一。
关于colors - E421 : Getting color name not recognized in perfectly valid statement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15633125/