Ответ 1
Вы можете использовать autocmd
для этого, то есть:
augroup twig_ft
au!
autocmd BufNewFile,BufRead *.html.twig set syntax=html
augroup END
Должно сработать.
Я работаю над проектом Symfony2, который использует Twig, а типы файлов myfile.html.twig
. Vim автоматически не определяет подсветку синтаксиса, и поэтому не применяется. Я могу использовать :set syntax=HTML
после того, как я открыл файл, но это боль при переходе между файлами.
Есть ли способ настойчиво установить подсветку синтаксиса для определенного типа файла в vim?
Вы можете использовать autocmd
для этого, то есть:
augroup twig_ft
au!
autocmd BufNewFile,BufRead *.html.twig set syntax=html
augroup END
Должно сработать.
Добавьте один из следующих отрывков в ваш .vimrc
:
" Set the filetype based on the file extension, overriding any
" 'filetype' that has already been set
au BufRead,BufNewFile *.html.twig set filetype=html
или же
" Set the filetype based on the file extension, but only if
" 'filetype' has not already been set
au BufRead,BufNewFile *.html.twig setfiletype html
au BufNewFile,BufRead,BufReadPost *.twig set syntax=HTML
И добавьте эту строку в ~/.vimrc
, чтобы сделать настройки постоянными.
Я знаю, что это напрямую не отвечает на вопрос, однако это отвечает целям вопроса, который заключается в том, чтобы получить подсветку синтаксиса, работающую с Twig/Symfony 2
Я предлагаю вам проверить https://github.com/beyondwords/vim-twig (не мой), который обеспечивает:
Я надеюсь, что это поможет
Это простейший случай. Обычно для определения синтаксиса могут использоваться сложные функции. К сожалению, они могут работать некорректно. Если у вас есть простой случай, когда алгоритм дает ошибку, вам нужно исключить расширение из одного и написать отдельно для этого случая. Например, я всегда получаю синтаксис vmasm для файлов Mac. Так что действительно это чистый файл макроса GNU Assembler. И поэтому мне нужно вручную изменить синтаксис командой: set syntax = asm каждый раз после открытия этого файла для редактирования. Но после выполнения процедуры выше определение синтаксиса правильное.