我正在尝试为 vim 创建自己的语法配置文件。
然后我创建了一个 ~/.vim/filetype.vim 文件,其中包含以下内容:
augroup filetypedetect autocmd BufNewFile,BufRead *.todo setfiletype todo augroup END
语法配置文件位于~/.vim/todo.vim。
但是这个配置文件没有被考虑在内。我知道语法是正确的,因为当我将其内容添加到 ~/.vimrc 时,语法就会应用。但适用于每个文件,而不仅仅是以 .todo 结尾的文件。
我发现这个肮脏的黑客会从该文件创建到 /usr/share/vim/vim73/syntax/todo.vim 的符号链接。
一旦 vim 包升级,此链接将被删除。
那么有没有更好的方法来实现这个目的呢?
非常感谢您的回答:)
答案1
语法文件应该位于 ~/.vim/syntax 中,就是这样。
答案2
就像火星人说的一样。
the syntax file should live under ~/.vim/syntax/todo.vim
the plugin file should live under ~/.vim/filetype.vim
设置这些可能会解决您的检测问题,因为您的 filetype.vim 中的语法似乎是正确的。
一个有趣的问题是由于书写setfiletype todo
而不是 书写而出现问题setfiletype=todo