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.
.vimrc
Datei 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.something
undDockerfilesomething
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
, php
usw.
Es gibt einen anderen Mechanismus, mit dem die Syntaxhervorhebung aufgerufen werden kann filetype
, oder ft
kurz. Ähnlich wie bei der Syntax geben Sie einen Typ wie folgt an : :set filetype=html
. Andere Dateitypen sind perl
, 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.
Beachten Sie, dass die :set syntax=xml
Hervorhebungen 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 ~/.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 ersetzen filetype
, filetype
wirkt sichsyntax
jedoch auf mehr Dinge aus als (einschließlich Syntaxhervorhebung, Einrückungsregeln und Plugins). Daher sollten filetype
Sie diese generell verwenden, es sei denn, Sie möchten nur Auswirkungen haben syntax
.