考慮一個簡單的文本標記語言,其中_underscores denote italics_
和*astrisks denote bold*
。Vim語法文件:添加到cterm
在一個假想的vim的語法文件,你可能有
syntax region italic start='_' end='_' keepend
syntax region bold start='*' end='*' keepend
highlight italic cterm=italic
highlight bold cterm=bold
(是的,我知道這是\*
,我把它作爲*
的清晰度。)
這裏的問題是_strings like *this*_
。即使你的終端支持italicBold字體,你也只能在vim中獲得一個。
我真正想要做的是這樣的:
highlight italic cterm+=italic
highlight bold cterm+=bold
(term
和guiterm
爲了清楚省略)
這是可能的解決這個與包含italicBold
和boldItalic
地區,這兩個設置cterm=bold,italic
,但事情變得凌亂,當你想包括underline
和一切都失控完全當你有一個紅色區域和一個藍色區域,你結束了
syntax region red ... contains=italicRed,boldRed,underlineRed
syntax region italicRed ... contains=italicBoldRed,italicUnderlineRed
syntax region italicBoldRed ... contains=italicBoldUnderlineRed
.
.
.
highlight red ctermfg=red
highlight italicRed cterm=italic ctermfg=red
highlight italicBoldRed cterm=italic,bold ctermfg=red
.
.
.
ad inifinitum。
而踢球者是我真的不想將顏色硬編碼到red
。我寧願
highlight link red Statement
,然後讓italicRed
使用相同的高亮定義red
但添加斜體設置。
還有得到是一個更簡單的方法來做到這一點。有什麼建議麼?
[那個答案](http://stackoverflow.com/a/15974676/1290438)提供了一些解決方法,從這裏也可能很有趣。 – zmo