Znajdź typ pliku załadowany do vima


224

Jak tylko załaduję dowolny plik w vimie, spróbuje wykryć plik i podświetlić go, jeśli to możliwe.

Chcę poznać komendę vim, która powie mi, która wtyczka ftplugin lub typ pliku / typ pliku jest vimem rozważającym wyróżnienie pliku.


Czy vim nie robi tego automatycznie?
ereOn

Jeśli umieścisz vimscript w ~ / .vim / ftplugin /, będzie on pobierał ten vimscript po załadowaniu pliku o odpowiednim typie pliku. Więc umieścić setlocal cursorlinew ~/.vim/ftplugin/python.vimi trzeba będzie bieżący wiersz wyróżnianie w plikach Python. Zobacz :help ftplugini:help after
idbrii

Odpowiedzi:


365

:set filetype?


39
Możesz zapisać kilka naciśnięć klawiszy i po prostu użyć:set ft?
Matthew Rankin

35
:se ft?- Wygrałem. ;)
sjas

39
:se ft? Wygrałem!
Fábio Santos,

SO wymaga minimalnej długości komentarza, więc może nie być oczywiste, że najkrótszy koniec kończy się po t. ? jest opcjonalne.
reergymerej

15

Możesz także dodać typ pliku do linii statusu lub tytułu okna, używając elementów %yi %Y. Widzieć

:help 'statusline'
:help 'titlestring'


2

Kiedy chciałem znaleźć typ pliku, to dlatego, że miałem rozszerzenie .ipy modyfikujące skrypt ipython. Powyższe pytania i odpowiedzi działały świetnie, aby zobaczyć, że rozszerzenie ipython nie było traktowane jako python (nieco oczywiste). Tak więc chciałem wymusić ustawienie typu pliku i znalazłem to na stronie vim helfpul. http://vim.wikia.com/wiki/Forcing_Syntax_Coloring_for_files_with_odd_extensions

Dodanie poniżej do .vimrc działa

au BufRead,BufNewFile *.ipy set filetype=python

2

Ponieważ przede wszystkim zadajesz / przeszukujesz to pytanie, zakładam, że to robisz, ponieważ twój vim jakoś nie podkreśla automatycznie twojej właściwej składni, a ty próbujesz dowiedzieć się, dlaczego i jak to naprawić.

Polecenie :set filetype?w wybranej odpowiedzi w zasadzie pyta vima „hej, jakiego typu, twoim zdaniem, jest bieżący plik”. A jeśli vim nie wyświetla właściwego koloru / podświetlenia, najprawdopodobniej jego odpowiedzią jest wyświetlenie tego filetype=na dole konsoli, co oznacza, że ​​vim nie zna typu pliku. To tylko połowa twojego zadania.

Logicznie, następnym krokiem będzie powiedzenie vimowi „po prostu podświetl go używając (na przykład) składni ps1”. Robisz to pisząc :set filetype=ps1, teraz vim podświetli bieżący plik w stylu ps1 (pod warunkiem, że już pobrałeś odpowiedni plik składni PowerShell i umieściłeś go w ~ / .vim / syntax ).

W tym momencie prawdopodobnie odtąd będziesz chciał automatycznego podświetlania składni. Rozwiązaniem jest umieszczenie odpowiedniego skryptu wykrywającego w folderze ~ / .vim / ftdetect. Na przykład, jeśli chcesz podświetlić wszystkie skrypty PowerShell .ps1, .psm1 itp., Umieść ten plik w swoim ~ / .vim / ftdetect

To jest szczęśliwe zakończenie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.