vim使用颜色方案文件向语法关键字添加新元素?

时间:2016-03-01 23:22:41

标签: vim syntax fortran color-scheme

我正在尝试使用颜色方案文件修改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吗?或者还有其他方法可以在配色方案文件中添加元素吗?或者正确的方法是创建一个新的语法文件?

1 个答案:

答案 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下的帮助中对此进行了描述。