我想擴展我的JS語法突出顯示,突出顯示將在我的程序中常用的某些功能。我正在使用janus來保持我所有的插件順序。現在我在那裏有一個文件叫vim-chino
,然後在那裏我有一個syntax
文件夾和一個ftdetect
文件夾。在這兩個我有一個chino.vim
文件。這是我的syntax/chino.vim
文件:在vim中擴展Javascript語法突出顯示
if !exists("main_syntax")
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
let main_syntax = 'javascript'
endif
syn match chinoKeywords "ChinoView"
hi def link chinoKeywords Function
let b:current_syntax = "javascript"
if main_syntax == 'javascript'
unlet main_syntax
endif
,在我ftdetect/chino.vim
我:
function! s:DetectJS()
if getline(1) =~# '^#!.*/bin/env\s\+node\>'
setfiletype javascript
endif
endfunction
autocmd BufNewFile,BufRead * call s:DetectJS()
我想它強調ChinoView
任何JavaScript文件。我覺得JS的語法高亮要麼覆蓋它,要麼它不被讀取。
編輯:如果我不得不猜測發生了什麼事情,當它看起來b:current_syntax
它已經有一個語法,所以它退出。
你可以檢查':syn list chinoKeywords'是否輸出任何內容。如果不是這意味着你的syn匹配沒有生效。 – FDinoff 2013-04-25 21:36:06
是的,它說'沒有這樣的突出顯示組名稱:chinoKeywords'。我也嘗試過'syn關鍵字chinoKeywords ChinoView',但這也不起作用。 – gblock 2013-04-25 21:44:59
你可以嘗試添加'syn match chinoKeywords「ChinoView」'和 'hi def link chinoKeywords Function' to':DetectJS()'而不是'syntax/chino.vim'。 (在'setfiletype javascript'之後) – FDinoff 2013-04-26 01:54:08