2013-01-09 13 views
17

Próbuję zaktualizować moje skrypty konfiguracyjne Vim. W moim katalogu ~/.vim znajduje się wiele podkatalogów i nie jestem pewien co do tego, co robią, ani dlaczego niektóre wydają się zbędne.Proszę wyjaśnić hierarchię katalogów konfiguracyjnych Vima

Oto co mój ~/.vim drzewo katalogów wygląda

|-after 
|---ftplugin 
|---syntax 
|-autoload 
|-compiler 
|-doc 
|-ftplugin 
|---latex-suite 
|-----dictionaries 
|-----macros 
|-----packages 
|-----templates 
|---python 
|-indent 
|-plugin 
|-spell 
|-syntax 

teraz na konkretne pytania.

  1. Co można znaleźć w plugin kontra ftplugin?
  2. Jaka jest różnica między plugin i autoload?
  3. Kiedy należy umieścić coś w after/... zamiast w katalogach bezpośrednio pod ~/.vim?

Odpowiedz

16

Cokolwiek przechodzi w plugin jest ładowany, gdy vim uruchamia natomiast co można umieścić w ftplugin ładowany jest tylko dla określonego typu pliku to odpowiada (więc jeśli masz folder jest nazywany python wszystkich plików nie zostaną załadowane, kiedy otworzyć plik Pythona. w autoload powinien mieć funkcje odpowiadające skryptów określonych w plugin. funkcje tutaj zostanie załadowany tylko gdy wywoływany przez po raz pierwszy.

w after należy umieścić ustawienia, które chcesz zmienić normalne ładowanie wtyczki. Jako exa Wygląda na to, że lubisz ustawienia, które daje ci plugin do lateksu, ale na nowo zdefiniowałeś mapowanie, które miałeś w swoim .vimrc. Możesz to cofnąć za pomocą autokomend lub poprzez wstawienie poprawnych definicji po.

+1

+1; zwięzłe i poprawne podsumowanie. –

+0

Dzięki @skeept. Jeśli rozumiem poprawnie, umieść główne wtyczki w 'plugin' lub' ftplugin', wspierając rzeczy w 'autoload' i stuff, aby nadpisać wszystko inne w' after'. Poprawny? – jlconlin

+1

Jeśli robisz coś, co dotyczy określonego typu pliku, powinieneś pójść z ftplugin. Jeśli chodzi o coś, co dotyczy wszystkich typów plików, wstawiaj wtyczkę, ale jeśli to możliwe, spróbuj wczytać ją automatycznie, i tak, cokolwiek jest, zastępuje wszystko inne. Myślę, że link podany w odpowiedzi od Eduana jest dobrym źródłem, powinieneś go przeczytać. – skeept

4

Wszystkie te katalogi są częścią runtimepath. Spróbuj :h runtimepath i będzie link do twoich odpowiedzi:

  1. Sprawdź :h write-plugin
  2. Sprawdź :h autoload-functions
  3. after/... skrypty wykonywane są ostatni, więc mogą zastąpić ustawienia wcześniejszych skryptów. Możesz przeczytać więcej na ten temat w :h runtimepath.
Powiązane problemy