※ 引述《kevin695 (KG and C's)》之铭言:
: 想请教一下各位,我想要自行编辑syntax highlight
: set是想抓取的固定字串,而abc则是任意非空白字符
: 也想要可以highlight
: 效果如下:
: set abc 1234
: 不知道在syntax档上面编辑该如何做? 感谢!
首先你要帮你这种档案格式取一个名字,假设叫做 kevin 好了
假设 kevin 的副档名都是 .kvn
首先在你的 .vimrc 里面加上两行,侦测档案格式:
au BufNewFile,BufRead *.kvn set filetype=kevin
接着我们要开始撰写 kevin 的 syntax highlight
到你的 ~/.vim/syntax 底下,建立一个叫做 kevin.vim 的档案
档案内容的撰写方法如下:
首先,我们先定义 set 这个 keyword
syn keyword kevinKeyword set
接着,我们要来辨识你所谓的 abc (非空白),但因为你这边讲的不清不楚的,
如果所有的非空白都要 highlight,那 1234 也是非空白吧?为什么不用?
但我不管你,我假设规则是“非数字开头”的要 highlight,数字则不用,
如果我这个假设错了,请自行修改那个 regex
假设只有非数字开头的一个字串要 highlight,那接下来要定义一个 match
syn match kevinString "\<\h\w*\>"
接下来要设定他们的颜色,为了省事,我直接绑定到 vim 内建的一些颜色名称去
HiLink kevinKeyword Keyword
HiLink kevinString String
好,现在 kevin.vim 完成了,存盘离开
接下来只要编辑副档名是 .kvn 的档案
就会自动套用你定义的 highlighting 了