Antworten:
Sie können dies auch in Ihre .vimrc einfügen:
au BufReadPost *.ezt set syntax=html
.myspecialdotfile. Es braucht irgendwo einen Stern, um zu arbeiten, auch wenn es theoretisch nicht notwendig ist.
.vimrcDatei für Docker-Dateien, die Erweiterungen für verschiedene Zwecke haben. autocmd BufNewFile, BufRead Dockerfile * set filetype = docker Nur die Verwendung Dockerfile*verhindert , dass die Syntaxhervorhebung bei der Verwendung funktioniert vi Dockerfile- das Hinzufügen des Backslashs ermöglicht das Arbeiten für Dockerfile/ Dockerfile.somethingundDockerfilesomething
Schauen 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 wie perl, html, phpusw.
Es gibt einen anderen Mechanismus, mit dem die Syntaxhervorhebung aufgerufen werden kann filetype, oder ftkurz. Ähnlich wie bei der Syntax geben Sie einen Typ wie folgt an : :set filetype=html. Andere Dateitypen sind perl, phpusw.
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.
Beachten Sie, dass die :set syntax=xmlHervorhebungen ordnungsgemäß hervorgehoben werden, jedoch fehlschlagen, wenn versucht wird, die Datei automatisch einzurücken (dh auszuführen gg=G).
Als ich zu wechselte :set filetype=xml, funktionierte die Hervorhebung ordnungsgemäß und die Datei wurde ordnungsgemäß eingerückt.
In einer .php-Datei (oder einer HTML-Datei) können Sie eine Vim-Modeline verwenden , um bestimmte Befehle oder Einstellungen zu erzwingen:
1 /* vim: syntax=javascript
2 *
3 * .submit_norefresh()
~
~
au ...Einstellungen in meinem ~/.vimrcfü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=shnach dem Shebang (erste Zeile :) #!/bin/bashzuverlässig zu funktionieren. Da es sich im Grunde genommen um einen "Kommentar" handelt, sbbfü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 syntaxanstelle von ersetzen filetype, filetypewirkt sichsyntax jedoch auf mehr Dinge aus als (einschließlich Syntaxhervorhebung, Einrückungsregeln und Plugins). Daher sollten filetypeSie diese generell verwenden, es sei denn, Sie möchten nur Auswirkungen haben syntax.