¿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.
html
syntax-highlighting
vim
Karthick
fuente
fuente
.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
fuente
:set syntax
devolverá el resaltado del archivo aplicado actualmenteEche 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í comoperl
,html
,php
, etc.Hay otro mecanismo que se puede utilizar para controlar el resaltado de sintaxis llamado
filetype
, oft
para abreviar. De manera similar a la sintaxis, que le dan un tipo como este::set filetype=html
. Otros tipos de archivos sonperl
,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.fuente
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.fuente
En un archivo .php (o un archivo html), puede usar un Vim Modeline para forzar ciertos comandos o configuraciones:
fuente
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 misbb
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 defiletype
, perofiletype
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 afiletype
menos que solo desee afectarsyntax
.fuente