¿Cómo configuro el resaltado de sintaxis de vim para tratar una extensión de archivo como un archivo html?
Estoy usando la plantilla ez, por lo que la extensión del archivo es .ezt
. Pero mucho es código html normal.
fuente
¿Cómo configuro el resaltado de sintaxis de vim para tratar una extensión de archivo como un archivo html?
Estoy usando la plantilla ez, por lo que la extensión del archivo es .ezt
. Pero mucho es código html normal.
También puede poner esto en su .vimrc:
au BufReadPost *.ezt set syntax=html
:set syntax=html
:set syntax
devolverá el resaltado del archivo aplicado actualmente
Eche un vistazo a este tema de la wikia de Vim . Algunos consejos útiles:
Como han mencionado otras respuestas, puede usar el comando vim set para establecer la sintaxis. :set syntax=<type>
donde <type>
es algo así como perl
, html
, php
, etc.
Hay otro mecanismo que se puede utilizar para controlar el resaltado de sintaxis llamado filetype
, o ft
para abreviar. De manera similar a la sintaxis, que le dan un tipo como este: :set filetype=html
. Otros tipos de archivos son perl
, php
, etc.
A veces vim "olvida" qué sintaxis usar, especialmente si está mezclando cosas como php y html. Use el atajo de teclado Ctrl+ L( <C-L>
) para que vim actualice el resaltado.
Tenga en cuenta que se :set syntax=xml
resalta correctamente pero parece fallar cuando se intenta aplicar una sangría automática al archivo (es decir,gg=G
).
Cuando cambié a :set filetype=xml
, el resaltado funcionó correctamente y el archivo se sangraron correctamente.
En un archivo .php (o un archivo html), puede usar un Vim Modeline para forzar ciertos comandos o configuraciones:
1 /* vim: syntax=javascript
2 *
3 * .submit_norefresh()
~
~
au ...
configuración relacionada con la sintaxis en mi ~/.vimrc
se ignora para ciertos archivos (¿presumiblemente debido a metadatos modificados?). Además de copiar el contenido de ese archivo a un archivo nuevo, establecer una línea de modo en la parte superior de ese archivo funciona. Por ejemplo, para un script BASH, agregar una segunda línea, # vim: syntax=sh
después de que el shebang (primera línea :) #!/bin/bash
parece funcionar, de manera confiable. Como es básicamente un "comentario", solo incluyo ambas líneas en mi sbb
fragmento ("shebang bash").
Para hacerlo automático, agregue esta línea a su ~/.vimrc
:
autocmd BufNewFile,BufRead *.ezt set filetype=html
Si solo desea hacerlo para el archivo actual, escriba:
:set filetype=html
También puede sustituir en syntax
lugar de filetype
, pero filetype
afecta a más cosas quesyntax
(incluido el resaltado de sintaxis, las reglas de sangría y los complementos), por lo que generalmente debe usar a filetype
menos que solo desee afectar syntax
.
.myspecialdotfile
. Necesita una estrella en algún lugar para funcionar, incluso si teóricamente no es necesario..vimrc
archivo para Dockerfiles que tienen extensiones para diferentes propósitos. autocmd BufNewFile, BufRead Dockerfile * set filetype = docker El solo usoDockerfile*
evita que el resaltado de sintaxis funcione cuando se usavi Dockerfile
; agregar la barra invertida permite que funcione paraDockerfile
/Dockerfile.something
yDockerfilesomething