Як змусити vim для виділення синтаксису файлу як HTML?


120

Як встановити виділення синтаксису vim, щоб розглянути розширення файлу як файл html?

Я використовую шаблон ez, тому розширення файлу є .ezt. Але багато це нормальний html-код.

Відповіді:


109

Ви також можете помістити це у свій .vimrc:

au BufReadPost *.ezt set syntax=html

E216: Немає такої групи чи подій: BufLoad * .ezt встановив синтаксис = html ... що я роблю неправильно?
Картік

2
На мій досвід, такий підхід не вдасться, якщо ви вкажете точне ім'я файлу, наприклад .myspecialdotfile. Тут потрібна зірка десь для роботи, навіть якщо це теоретично не потрібно.
SeldomNeedy

Я маю це у своєму .vimrcфайлі для Dockerfiles, які мають розширення для різних цілей. autocmd BufNewFile, BufRead Dockerfile * set filetype = docker Просто використання Dockerfile*запобігає виділенню синтаксису від роботи при використанні vi Dockerfile- додавання зворотної косої риски дозволяє йому працювати для Dockerfile/ Dockerfile.somethingіDockerfilesomething
Android Control

204
:set syntax=html

10
@pbr: який відповідає саме на назву питання.
Skippy le Grand Gourou

2
> "ставитися до розширення файлу як до html-файлу"
0atman

це те, що я шукав :)
niken

Можливо, допоможе дізнатися, що біг :set syntaxповерне поточне підсвічування файлу
Арі

26

Погляньте на цю тему Vim wikia . Кілька корисних порад:

  • Як згадували інші відповіді, ви можете використовувати команду vim set для встановлення синтаксису. :set syntax=<type>де <type>що - щось на зразок perl, html, phpі т.д.

  • Є ще один механізм, за допомогою якого можна керувати виділенням синтаксису, що називається filetype, або ftкоротким. Подібний синтаксис, ви даєте йому тип , як це: :set filetype=html. Інші типи файлів можуть perl, phpі т.д.

  • Іноді vim "забуває", який синтаксис використовувати, особливо якщо ви змішуєте речі, наприклад, php та html разом. Використовуйте комбінацію клавіш Ctrl+ L( <C-L>), щоб отримати vim для оновлення виділення.


Найкраща відповідь! +!
Дж. Аллан

17

Зверніть увагу, що :set syntax=xmlвиділення належним чином, але, здається, не вдалося, коли хтось намагається автонаглядати файл (тобто працює gg=G).

Коли я перейшов :set filetype=xml, підсвічування працювало належним чином, а файл відрізав належним чином.


14

У .php-файлі (або в HTML-файлі) ви можете використовувати Vim Modeline для форсування певних команд або налаштувань:

 1 /* vim: syntax=javascript
 2  *
 3  * .submit_norefresh()
 ~
 ~

2
Ви маєте на увазі
Modeline

Іноді au ...налаштування, пов'язані з синтаксисом , в моїх ~/.vimrcігноруються для певних файлів (імовірно, через змінені метадані?). Окрім копіювання цього вмісту у новий файл, встановлення моделену у верхній частині цього файлу працює. Наприклад, для сценарію BASH, додаючи другий рядок, # vim: syntax=shпісля того , як шебанг (перший рядок:), #!/bin/bashздається, працює надійно. Оскільки це в основному "коментар", я просто включаю обидва рядки в мій sbbфрагмент ("shebang bash").
Вікторія Стюарт

13

Щоб зробити його автоматичним, додайте цей рядок до свого ~/.vimrc:

autocmd BufNewFile,BufRead *.ezt set filetype=html

Якщо ви хочете просто зробити це для поточного файлу, введіть:

:set filetype=html

Крім того, можна замінити syntaxзамість filetype, але filetypeзачіпає всі більше речей , ніжsyntax (включаючи підсвітку синтаксису, відступи правила і плагіни), тому , як правило , ви повинні використовувати , filetypeякщо ви не тільки хочете , щоб вплинути syntax.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.