我正在尝试使用颜色方案文件修改fortran语法。
在配色方案中,这些功能正常。
hi! link fortranConditional Function
hi! link fortranRepeat SpecialChar
hi! link fortranBoolean SpecialChar
hi! link fortranReadWrite SpecialChar
hi! link fortranIO SpecialChar
hi! link fortranConstant Underlined
我想在不同的语法关键字中添加更多元素。但是现在,我只能使用这样的文件类型自动命令:
autocmd BufNewFile,BufRead *.f90 syn match fortranType "[()]"
autocmd BufNewFile,BufRead *.f90 syn match fortranIntrinsic ":"
autocmd BufNewFile,BufRead *.f90 syn match fortranConstant "[%,]"
有什么方法可以只写一次autocmd BufNewFile,BufRead *.f90
吗?或者还有其他方法可以在配色方案文件中添加元素吗?或者正确的方法是创建一个新的语法文件?
答案 0 :(得分:5)
您对分组问题的直接回答是创建一个函数并调用该函数:
autocmd BufNewFile,BufRead *.f90 call LoadFortranSyntax()
function! LoadFortranSyntax()
syn match fortranType "[()]"
syn match fortranIntrinsic ":"
syn match fortranConstant "[%,]"
endfunction
但是,在语法文件中添加内容的推荐和正确方法是使用~/.vim/after/syntax
目录。例如:
文件: ~/.vim/after/syntax/fortran.vim
syn match fortranType "[()]"
syn match fortranIntrinsic ":"
syn match fortranConstant "[%,]"
主题mysyntaxfile-add
下的帮助中对此进行了描述。