我正在使用Twig的Symfony2項目,文件類型爲myfile.html.twig
。 Vim不會自動檢測語法高亮,因此不應用任何語法。打開文件後,我可以使用:set syntax=HTML
,但在文件之間跳轉時很痛苦。vim:persistent:爲給定的文件類型設置語法?
有沒有辦法在vim中爲特定文件類型永久設置語法高亮?
我正在使用Twig的Symfony2項目,文件類型爲myfile.html.twig
。 Vim不會自動檢測語法高亮,因此不應用任何語法。打開文件後,我可以使用:set syntax=HTML
,但在文件之間跳轉時很痛苦。vim:persistent:爲給定的文件類型設置語法?
有沒有辦法在vim中爲特定文件類型永久設置語法高亮?
您可以使用autocmd
來實現這一目標,即:
autocmd BufNewFile,BufRead *.html.twig set syntax=html
應該工作。
au BufNewFile,BufRead,BufReadPost *.twig set syntax=HTML
並將此行添加到~/.vimrc
以使設置保持不變。
我知道這並不直接回答這個問題,但是這個答案,這是獲得語法高亮與枝條/ Symfony的工作的意圖,2
我建議你看看https://github.com/beyondwords/vim-twig(不是我) ,其中規定:
我希望這有助於
添加以下行之一的.vimrc
" Set the type for the file type and override if file type
" already has detected
au BufRead,BufNewFile *.html.twig set filetype=html
OR
" Set the type for the file type but do NOT override if file type
" already has detected
au BufRead,BufNewFile *.html.twig setfiletype=html
這是一個比公認的更好的通用答案。如果vim無法檢測到文件的類型(並自動提供語法高亮顯示),最好設置文件類型而不僅僅是文件的語法。 – mrfred 2017-06-13 18:48:24
'setfiletype'應該是'set filetype' 至少我可以讓它工作 – 2017-08-17 15:07:06
這是最簡單的情況。通常它可能是複雜的函數來確定語法。不幸的是,它們可能工作不正確如果你有簡單的情況,當算法給出錯誤時,yum需要從一箇中排除擴展名,併爲這種情況單獨編寫。例如,我總是獲得mac文件的vmasm語法。所以確實是純粹的GNU彙編程序宏文件。因此,我需要通過命令手動更改語法:每次打開此文件進行編輯時,都需要set syntax = asm。但是完成上面的語法定義之後的程序是正確的
一位朋友也向我指出了這一點。 設置文件類型:'au BufRead,BufNewFile * .html.twig set filetype = twig' 設置語法:'au BufRead,BufNewFile * .html.twig set syntax = HTML' – Bendihossan 2012-07-26 09:27:15
我建議把這行代碼放到'〜/ .vim/ftdetect/html.twig.vim'文件(你應該創建它),這是這種自動命令的正確位置。 – xaizek 2012-07-26 09:30:35
@xaizek我明白這是推薦的,但是你有什麼想法,爲什麼它不起作用,如果我把'〜/ .vimrc'而不是'〜/ .vim/ftdetect /'放進去? – 2014-05-26 23:56:11