Как синтаксически выделить дополнительные ключевые слова в Vim?

1

Я пытаюсь выделить некоторые дополнительные ключевые слова в 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

Что с этим не так?

Opa
источник

Ответы:

3

ftplugin материал выполнен до синтаксические скрипты, так что ваш :autocmd s определяют дополнительные ключевые слова только для того, чтобы очистить их по умолчанию syntax/haskell.vim позже.

Вы можете попробовать использовать :autocmd Syntax haskell ... вместо этого, но правильный путь состоит в том, чтобы поставить :syn keyword команды в файл ~/.vim/after/syntax/haskell.vim,

Хотя может показаться заманчивым хранить всю конфигурацию в одном месте, это плохо масштабируется. Лучше используйте абстракции, которые предлагает Vim, или вы получите неразборчиво более тысячи строк ~/.vimrc в конце концов тоже.

Ingo Karkat
источник