Jaka jest różnica między „wcięciem typu pliku wtyczki” a „wcięciem typu pliku„ na?

38

Widzę jeden z tych dwóch wierszy w .vimrcplikach. Ten wydaje się być najbardziej powszechny:

filetype plugin indent on

Ale czym różni się od tej linii:

filetype indent on

Znalazłem dokumentację dla tego drugiego , ale wciąż jestem zdezorientowany.

Flimm
źródło
2
wskazówka boczna: możesz zrobić, :filetypeaby wyświetlić ustawienia typu pliku.
wisbucky

Odpowiedzi:

46

filetype plugin indent on jest jak kombinacja tych poleceń:

filetype on
filetype plugin on
filetype indent on

Jednocześnie włącza „wykrywanie”, „wtyczkę” i „wcięcie”. Możesz sprawdzić sam, czytając :help :filetype-overview.

Wykrycie

Do czego służy „wykrywanie” typu pliku? Z dokumentów:

Za każdym razem, gdy nowy lub istniejący plik jest edytowany, Vim będzie próbował rozpoznać typ pliku i ustawić opcję „typ pliku”. Spowoduje to wywołanie zdarzenia FileType, którego można użyć do ustawienia podświetlania składni, ustawiania opcji itp.

Jest to mniej mylące, jeśli zdasz sobie sprawę, że filetypepolecenie różni się od filetypeopcji. (Polecenie :filetype...opcja: :set filetype...)

Podłącz

Co robi część „wtyczka”? Z dokumentów:

To faktycznie ładuje plik „ftplugin.vim” do „runtimepath”.

Powoduje to, że podczas edycji pliku ładowany jest plik wtyczki (jeśli istnieje dla wykrytego typu pliku).

Ładowany plik nie musi mieć nazwy ftplugin.vim, może to być ftplugin/html_example.vimna przykład.

Akapit

Co robi część „wcięcie”? Z dokumentów:

To faktycznie ładuje plik „indent.vim” do „runtimepath”.

Powoduje to, że podczas edycji pliku ładowany jest jego plik wcięcia (jeśli istnieje dla wykrytego typu pliku). wyrażenie wcięcia

Ponownie plik może nie mieć nazwy indent.vim, może indent/html_example.vimna przykład zostać nazwany .

Flimm
źródło
1
aby to wyjaśnić, nazwa pliku powinna odpowiadać „typowi pliku”, dla którego ma zostać aktywowany, np. albo <type>/foobar.vim(podkatalog dla każdego typu pliku), <type>_foobar.vimalbo po prostu <type>.vimgdzie <typ> odpowiada rzeczywistemu typowi pliku
Christian Brabandt