Comment définir la coloration syntaxique de vim pour traiter une extension de fichier comme un fichier html?
J'utilise le modèle ez, donc l'extension du fichier est .ezt
. Mais il s'agit en grande partie de code html normal.
html
syntax-highlighting
vim
Karthick
la source
la source
.myspecialdotfile
. Il a besoin d'une étoile quelque part pour travailler, même si ce n'est théoriquement pas nécessaire..vimrc
fichier pour Dockerfiles qui ont des extensions à des fins différentes. autocmd BufNewFile, BufRead Dockerfile * set filetype = docker Le simple fait d'utiliserDockerfile*
empêche la mise en évidence de la syntaxe de fonctionner lors de l'utilisationvi Dockerfile
- l'ajout de la barre oblique inverse lui permet de fonctionner pourDockerfile
/Dockerfile.something
etDockerfilesomething
la source
:set syntax
renverra la mise en évidence du fichier actuellement appliquéJetez un œil à ce sujet Wikia Vim . Quelques conseils utiles:
Comme d'autres réponses l'ont mentionné, vous pouvez utiliser la commande vim set pour définir la syntaxe.
:set syntax=<type>
où<type>
est quelque chose commeperl
,html
,php
, etc.Il existe un autre mécanisme qui peut être utilisé pour contrôler la coloration syntaxique appelée
filetype
, ouft
pour faire court. Semblable à la syntaxe, vous lui donnez un type comme ceci::set filetype=html
. D' autres types de fichiers sontperl
,php
, etc.Parfois, vim «oublie» la syntaxe à utiliser, surtout si vous mélangez des éléments tels que php et html. Utilisez le raccourci clavier Ctrl+ L(
<C-L>
) pour obtenir vim pour actualiser la mise en évidence.la source
Notez que cela
:set syntax=xml
met en évidence correctement mais semble échouer lorsque l'on tente d'auto-identifier le fichier (c'est-à-dire en cours d'exécutiongg=G
).Lorsque je suis passé à
:set filetype=xml
, la mise en évidence a fonctionné correctement et le fichier est correctement mis en retrait.la source
Dans un fichier .php (ou un fichier html), vous pouvez utiliser un Vim Modeline pour forcer certaines commandes ou certains paramètres:
la source
au ...
paramètres liés à la syntaxe dans mon~/.vimrc
sont ignorés pour certains fichiers (probablement en raison de métadonnées modifiées?). Autre que la copie de ce contenu de fichier dans un nouveau fichier, la définition d'une ligne de modèle en haut de ce fichier fonctionne. Par exemple, pour un script BASH, l'ajout d'une deuxième ligne,# vim: syntax=sh
après le shebang (première ligne:)#!/bin/bash
semble fonctionner, de manière fiable. Puisqu'il s'agit essentiellement d'un "commentaire", j'inclus simplement les deux lignes dans monsbb
extrait ("shebang bash").Pour le rendre automatique, ajoutez cette ligne à votre
~/.vimrc
:autocmd BufNewFile,BufRead *.ezt set filetype=html
Si vous voulez le faire uniquement pour le fichier actuel, tapez:
:set filetype=html
Vous pouvez également remplacer à la
syntax
place defiletype
, maisfiletype
affecte plus de choses quesyntax
(y compris la coloration syntaxique, les règles d'indentation et les plugins), vous devriez donc généralement utiliser àfiletype
moins que vous ne vouliez seulement affectersyntax
.la source