为给定的文件类型设置语法?

我正在做一个 Symfony2项目,它使用 Twig,文件类型是 myfile.html.twig。Vim 不会自动检测语法突显,因此不会应用。我可以使用 :set syntax=HTML后,我已经打开了文件,但这是一个痛苦时,跳转之间的文件。

有没有办法在 vim 中持久地设置特定文件类型的语法突显?

52917 次浏览

您可以使用 autocmd来实现这一点,即:

augroup twig_ft
au!
autocmd BufNewFile,BufRead *.html.twig   set syntax=html
augroup END

应该可以。

au BufNewFile,BufRead,BufReadPost *.twig set syntax=HTML

并将此行添加到 ~/.vimrc以使设置持久化。

我知道这并不能直接回答这个问题,但是这回答了问题的本意,也就是让语法突显与 Twig/Symfony 2一起工作

我建议你看看 https://github.com/beyondwords/vim-twig(不是我的) ,它提供:

  • * . html.twig 的语法突显文件,
  • 相同的文件类型检测,以及
  • 文件类型插件,允许您在编辑 * . html.twig 文件时根据需要修改各种设置

希望这个能帮上忙

在你的 .vimrc中加入以下段落之一:

" Set the filetype based on the file's extension, overriding any
" 'filetype' that has already been set
au BufRead,BufNewFile *.html.twig set filetype=html

或者

" Set the filetype based on the file's extension, but only if
" 'filetype' has not already been set
au BufRead,BufNewFile *.html.twig setfiletype html