我正在尝试在 Vim 中突出显示默认语法突出显示脚本之外的一些其他关键字。
在 .vimrc 中尝试以下内容(我想将所有内容保存在一个文件中)但它不起作用:
au FileType haskell syn keyword hsfunc filter map foldl foldr flip
au FileType haskell syn keyword hsfunc fmap zip curry uncurry
au FileType haskell hi hsfunc ctermfg=white
这有什么问题?
答案1
这ft插件东西被执行前语法脚本,因此您的:autocmd
s 仅定义附加关键字,然后默认清除它们syntax/haskell.vim
。
您可以尝试使用:autocmd Syntax haskell ...
,但正确的方法是将:syn keyword
命令放入文件中~/.vim/after/syntax/haskell.vim
。
~/.vimrc
虽然将所有配置都放在一个地方可能很诱人,但这种方式的扩展性并不好。最好使用 Vim 提供的抽象,否则最终你也会得到难以理解的上千行代码。