Como defino o realce de sintaxe do vim para tratar uma extensão de arquivo como um arquivo html?
Estou usando o modelo ez, então a extensão do arquivo é .ezt
. Mas muito disso é código html normal.
html
syntax-highlighting
vim
Karthick
fonte
fonte
.myspecialdotfile
. Ele precisa de uma estrela em algum lugar para funcionar, mesmo que teoricamente não seja necessário..vimrc
arquivo para Dockerfiles que têm extensões para diferentes fins. autocmd BufNewFile, BufRead Dockerfile * set filetype = docker Apenas o usoDockerfile*
evita que o realce de sintaxe funcione ao usarvi Dockerfile
- adicionar a barra invertida permite que funcione paraDockerfile
/Dockerfile.something
eDockerfilesomething
fonte
:set syntax
retornará o realce do arquivo aplicado atualmenteDê uma olhada neste tópico da wiki do Vim . Algumas dicas úteis:
Como outras respostas mencionaram, você pode usar o comando vim set para definir a sintaxe.
:set syntax=<type>
onde<type>
é algo comoperl
,html
,php
, etc.Existe outro mecanismo que pode ser usado para controlar o realce da sintaxe
filetype
, chamado ouft
abreviadamente. Semelhante à sintaxe, você dá um tipo como este::set filetype=html
. Outros tipos de arquivos sãoperl
,php
, etc.Às vezes, o vim "esquece" qual sintaxe usar, especialmente se você estiver misturando coisas como php e html. Use o atalho de teclado Ctrl+ L(
<C-L>
) para fazer com que o vim atualize o realce.fonte
Observe que é
:set syntax=xml
realçado corretamente, mas parece falhar quando se tenta identificar automaticamente o arquivo (ou seja, em execuçãogg=G
).Quando mudei para
:set filetype=xml
, o realce funcionou corretamente e o arquivo foi recuado corretamente.fonte
Em um arquivo .php (ou um arquivo html), você pode usar um Vim Modeline para forçar certos comandos ou configurações:
fonte
au ...
configurações relacionadas à sintaxe em meu~/.vimrc
são ignoradas para certos arquivos (provavelmente devido a metadados modificados?). Além de copiar o conteúdo do arquivo para um arquivo novo, definir uma linha de modelo na parte superior desse arquivo funciona. Por exemplo, para um script BASH, adicionar uma segunda linha,# vim: syntax=sh
após o shebang (primeira linha :),#!/bin/bash
parece funcionar, de forma confiável. Como é basicamente um "comentário", apenas incluo ambas as linhas no meusbb
trecho ("shebang bash").Para torná-lo automático, adicione esta linha ao seu
~/.vimrc
:autocmd BufNewFile,BufRead *.ezt set filetype=html
Se você deseja fazer isso apenas para o arquivo atual, digite:
:set filetype=html
Você também pode substituir em
syntax
vez defiletype
, masfiletype
afeta mais coisas do quesyntax
(incluindo realce de sintaxe, regras de recuo e plug-ins), então geralmente você deve usar, afiletype
menos que queira apenas afetarsyntax
.fonte