Jak ustawić podświetlanie składni Vima, aby traktować rozszerzenie pliku jako plik HTML?
Używam szablonu ez, więc rozszerzenie pliku to .ezt
. Ale większość z nich to normalny kod HTML.
html
syntax-highlighting
vim
Karthick
źródło
źródło
.myspecialdotfile
. Potrzebuje gdzieś w nim gwiazdy do pracy, nawet jeśli teoretycznie nie jest to konieczne..vimrc
pliku dla Dockerfiles, które mają rozszerzenia do różnych celów. autocmd BufNewFile, BufRead Dockerfile * set filetype = docker Samo użycieDockerfile*
zapobiega działaniu podświetlania składni podczas używaniavi Dockerfile
- dodanie odwrotnego ukośnika pozwala mu działać dlaDockerfile
/Dockerfile.something
iDockerfilesomething
źródło
:set syntax
zwróci aktualnie zastosowane podświetlenie plikówSpójrz na ten temat wiki Vim . Kilka przydatnych wskazówek:
Jak wspomniały inne odpowiedzi, możesz użyć polecenia vim set, aby ustawić składnię.
:set syntax=<type>
gdzie<type>
jest coś takiegoperl
,html
,php
, itd.Istnieje inny mechanizm, który może być użyty do kontrolowania podświetlania składni, nazywany
filetype
lubft
w skrócie. Podobna do składni, dajesz mu typ takiego::set filetype=html
. Inne typy plików sąperl
,php
itpCzasami vim „zapomina” jakiej składni użyć, szczególnie jeśli mieszasz razem rzeczy takie jak php i html. Użyj skrótu klawiaturowego Ctrl+ L(
<C-L>
), aby Vim odświeżył podświetlenie.źródło
Zauważ, że
:set syntax=xml
podświetla się poprawnie, ale wydaje się, że kończy się niepowodzeniem, gdy ktoś próbuje automatycznie wciąć plik (tj. Działagg=G
).Kiedy przełączyłem się na
:set filetype=xml
, podświetlenie działało poprawnie, a plik był odpowiednio wcięty.źródło
W pliku .php (lub pliku html) możesz użyć Vim Modeline, aby wymusić pewne polecenia lub ustawienia:
źródło
au ...
ustawienia związane ze składnią w moim~/.vimrc
są ignorowane dla niektórych plików (prawdopodobnie z powodu zmodyfikowanych metadanych?). Oprócz kopiowania zawartości tego pliku do nowego pliku, ustawienie linii modelowej na górze tego pliku działa. Np. Dla skryptu BASH dodanie drugiej linii# vim: syntax=sh
po shebang (pierwsza linia:)#!/bin/bash
wydaje się działać niezawodnie. Ponieważ jest to po prostu „komentarz”, po prostu umieszczam obie linie w moimsbb
fragmencie („shebang bash”).Aby było to automatyczne, dodaj tę linię do
~/.vimrc
:autocmd BufNewFile,BufRead *.ezt set filetype=html
Jeśli chcesz to zrobić tylko dla bieżącego pliku, wpisz:
:set filetype=html
Możesz również zastąpić
syntax
zamiastfiletype
, alefiletype
wpływa na więcej rzeczy niżsyntax
(w tym podświetlanie składni, reguły wcięć i wtyczki), więc ogólnie powinieneś używać,filetype
chyba że chcesz tylko wpłynąćsyntax
.źródło