Vim w zabawny sposób podkreśla składnię mojego pliku i chcę wiedzieć, który plik składni jest odpowiedzialny za to zachowanie. Jak dowiedzieć się, jakie pliki składniowe załadował vim?
Vim w zabawny sposób podkreśla składnię mojego pliku i chcę wiedzieć, który plik składni jest odpowiedzialny za to zachowanie. Jak dowiedzieć się, jakie pliki składniowe załadował vim?
Odpowiedzi:
Aby dowiedzieć się, które pliki Vim rzeczywiście załadował, uruchom
:scriptnames
:echo b:current_syntax
. Aby zobaczyć aktualnie stosowane elementy składni, wykonaj czynności sugerowane przez Ingo i wykonaj je :syntax list
. To ostatnie może pomóc, jeśli działają elementy składni z więcej niż jednego pliku, jak zauważył Ingo.
/usr/share/vim/vim73/filetype.vim
. Po użyciu powyższego polecenia zdałem sobie sprawę, że używa on wersji MacVima pod adresem ~/Applications/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
. Jeśli masz zainstalowany MacVim, upewnij się, że zmodyfikowałeś poprawny plik.
/usr/share/vim/vim81/syntax/cf.vim
dla mnie). Zainstalowałem niestandardową wersję cf.vim, ponieważ standardowa jest datowana. :scriptnames
pokazuje oba pliki. Wartość domyślna jest niższa na liście skryptów; jednak ten pierwszy jest używany. Jeśli spojrzysz /usr/share/vim/vim81/syntax/cf.vim
, jest strażnik if exists("b:current_syntax") finish endif
. Tak więc w moim przypadku scriptnames
było to pomocne, ale musiałem kopać nieco głębiej.
Składnia bieżącego bufora może być przeszukiwana poprzez
:setlocal syntax?
Zwykle (ale niekoniecznie) odpowiada typowi pliku bufora ( :setlocal filetype?
).
Aby uzyskać głębsze spojrzenie,
:syntax list
pokazuje wszystkie definicje składniowe (niektóre składnie (CAN) to składnie inny język za np java
ma html
dla Javadoc komentarz znaczników).
Możesz zobaczyć, jakie typy plików są obecnie używane i przez
:verbose set ft ?
Wtyczka obsługująca typ pliku najprawdopodobniej znajduje się w
:e $VIMRUNTIME\ftplugin