vim:persistent:为给定的文件types设置语法?

我正在使用Twig的Symfony2项目,文件types是myfile.html.twig 。 Vim不会自动检测语法高亮,因此不应用任何语法。 我可以在打开文件后使用:set syntax=HTML ,但在文件之间跳转时会很痛苦。

有没有办法在vim中持久地设置特定文件types的语法高亮?

你可以使用autocmd来完成,例如:

 autocmd BufNewFile,BufRead *.html.twig set syntax=html 

应该pipe用。

将下列行添加到.vimrc

 " Set the type for the file type and override if file type " already has detected au BufRead,BufNewFile *.html.twig set filetype=html 

要么

 " Set the type for the file type but do NOT override if file type " already has detected au BufRead,BufNewFile *.html.twig setfiletype=html 
 au BufNewFile,BufRead,BufReadPost *.twig set syntax=HTML 

并将此行添加到~/.vimrc以使设置保持不变。

我知道这并不直接回答这个问题,但是这个问题的答案是为了让语法突出显示与Twig / Symfony 2

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

  • * .html.twig的语法高亮文件,
  • 文件types检测相同,和
  • 文件types插件,允许您在编辑* .html.twig文件时根据需要修改各种设置

我希望这有帮助

这是最简单的情况。 通常,确定语法可能是复杂的函数。 不幸的是他们可能工作不正 如果你有一个简单的情况,当algorithm给出错误时,yum需要排除一个扩展名,并为这种情况单独编写。 例如,我总是得到mac文件的vmasm语法。 所以确实是纯粹的GNU汇编程序macros文件。 所以我需要通过命令手动更改语法:set syntax = asm每次打开此文件进行编辑。 但是在完成上面的语法定义之后就是正确的。