Wie setze ich die Syntaxhervorhebung von vim, um eine Dateierweiterung als HTML-Datei zu behandeln?
Ich verwende die ez-Vorlage, daher lautet die Dateierweiterung .ezt
. Aber vieles davon ist normaler HTML-Code.
html
syntax-highlighting
vim
Karthick
quelle
quelle
.myspecialdotfile
. Es braucht irgendwo einen Stern, um zu arbeiten, auch wenn es theoretisch nicht notwendig ist..vimrc
Datei für Docker-Dateien, die Erweiterungen für verschiedene Zwecke haben. autocmd BufNewFile, BufRead Dockerfile * set filetype = docker Nur die VerwendungDockerfile*
verhindert , dass die Syntaxhervorhebung bei der Verwendung funktioniertvi Dockerfile
- das Hinzufügen des Backslashs ermöglicht das Arbeiten fürDockerfile
/Dockerfile.something
undDockerfilesomething
quelle
:set syntax
die aktuell angewendete Datei-Hervorhebung zurückgegeben wirdSchauen Sie sich dieses Vim-Wikia-Thema an . Einige nützliche Tipps:
Wie bereits in anderen Antworten erwähnt, können Sie mit dem Befehl vim set die Syntax festlegen.
:set syntax=<type>
wo<type>
ist so etwas wieperl
,html
,php
usw.Es gibt einen anderen Mechanismus, mit dem die Syntaxhervorhebung aufgerufen werden kann
filetype
, oderft
kurz. Ähnlich wie bei der Syntax geben Sie einen Typ wie folgt an ::set filetype=html
. Andere Dateitypen sindperl
,php
usw.Manchmal "vergisst" vim, welche Syntax verwendet werden soll, besonders wenn Sie Dinge wie PHP und HTML miteinander mischen. Verwenden Sie die Tastenkombination Ctrl+ L(
<C-L>
), um vim zum Aktualisieren der Hervorhebung zu bewegen.quelle
Beachten Sie, dass die
:set syntax=xml
Hervorhebungen ordnungsgemäß hervorgehoben werden, jedoch fehlschlagen, wenn versucht wird, die Datei automatisch einzurücken (dh auszuführengg=G
).Als ich zu wechselte
:set filetype=xml
, funktionierte die Hervorhebung ordnungsgemäß und die Datei wurde ordnungsgemäß eingerückt.quelle
In einer .php-Datei (oder einer HTML-Datei) können Sie eine Vim-Modeline verwenden , um bestimmte Befehle oder Einstellungen zu erzwingen:
quelle
au ...
Einstellungen in meinem~/.vimrc
für bestimmte Dateien ignoriert (vermutlich aufgrund geänderter Metadaten?). Abgesehen vom Kopieren des Dateiinhalts in eine neue Datei funktioniert das Festlegen einer Modeline oben in dieser Datei. Zum Beispiel scheint für ein BASH-Skript das Hinzufügen einer zweiten Zeile# vim: syntax=sh
nach dem Shebang (erste Zeile :)#!/bin/bash
zuverlässig zu funktionieren. Da es sich im Grunde genommen um einen "Kommentar" handelt,sbb
füge ich einfach beide Zeilen in mein ("shebang bash") - Snippet ein.Um es automatisch zu machen, fügen Sie diese Zeile zu Ihrem hinzu
~/.vimrc
:autocmd BufNewFile,BufRead *.ezt set filetype=html
Wenn Sie dies nur für die aktuelle Datei tun möchten, geben Sie Folgendes ein:
:set filetype=html
Sie können auch
syntax
anstelle von ersetzenfiletype
,filetype
wirkt sichsyntax
jedoch auf mehr Dinge aus als (einschließlich Syntaxhervorhebung, Einrückungsregeln und Plugins). Daher solltenfiletype
Sie diese generell verwenden, es sei denn, Sie möchten nur Auswirkungen habensyntax
.quelle