Najlepszy sposób na uporządkowanie ustawień typu pliku w.vim i.vimrc?

Przeglądam moje vim dotfiles, aby je uporządkować. Zauważyłem, że z czasem dodałem różne ustawienia specyficzne dla typów plików w różne niespójne sposoby. Załóżmy, że dostosowuję dla Pythona:

  • au BufRead,BufNewFile *.py (do something). Nie podoba mi się to, ponieważ niektóre pliki Pythona mogą nie mieć zakończenia. py.

  • au FileType python (do something). Wydaje się to lepszą opcją, ponieważ nie zależy to od pliku z zakończeniem .py. Wadą jest to, że Vim nie wie o niektórych typy plików. Mogę sprawić, że Vim rozpozna dodatkowe typy plików, ale mam też różne niespójne sposoby na to: plik .vim/filetype.vim, inny w .vim/after/filetype.vim i różne polecenia set filetype w .vimrc.

  • Dodaj plik .vim/ftplugin/python.vim z ustawieniami specyficznymi dla typu pliku. Rozumiem, że $VIMRUNTIME/ftplugin/python.vim może zastąpić wszelkie ustawienia, które tu wprowadzę. Jednym z problemów jest to, że nie jestem pewien, jak to współdziała z .vim/filetype.vim i .vim/after/filetype.vim.

  • Dodaj .vim/after/ftplugin/python.vim. Rozumiem, że to jest ładowane po $VIMRUNTIME/ftplugin/python.vim, więc może nadpisać ustawienia stamtąd. Podobnie jak w poprzedniej metodzie nie jestem pewien, w jaki sposób współdziała ona z plikami filetype.vim.

Więc mam co najmniej cztery sposoby, aby to zrobić, nie wspominając o plikach składni i wtyczkach specyficznych dla filetype. Wydaje mi się, że najlepszym sposobem, aby to zrobić, jest umieszczenie moich ustawień określonych typów plików w after/ftplugin, aby nie zostały nadpisane, i filetypes.vim w after z tego samego powodu.

Jednak zanim przejdę do rzeczy chciałbym zapytać, czy ktoś ma sugestie dotyczące najlepszego sposobu radzenia sobie z ustawieniami specyficznymi dla typu pliku.

Author: Koraktor, 2010-05-23

1 answers

Przechowuję swoje ustawienia Pythona-jest w $HOME/.vim/ftplugin/python.vim, ponieważ nie robię nic w konflikcie z $VIMRUNTIME/ftplugin/python.vim.

Utrzymanie tych ustawień w ftplugin file keeps my .vimrc ładny i ogólny i łatwiejszy w utrzymaniu (nadal jest dość duży po ponad dziesięciu latach użytkowania Vima).

Jeśli chcesz przesunąć co ftplugin S z konfiguracją dystrybucji Vim, to $HOME/.vim/after/ftplugin/python.vim jest tym, czego chcesz, jak to jest czytane after to.

Podobnie $HOME/.vim/filetype.vim będzie pozyskiwane przed $VIMRUNTIME/filetype.vim, a to z kolei będzie pozyskiwane przed $HOME/.vim/after/filetype.vim.

Wywoływanie :scriptnames wyświetli wszystkie nazwy skryptów źródłowych, w kolejności, w jakiej zostały pierwotnie pozyskane.

:help filetype dostarcza wyczerpujących informacji na ten temat.

 65
Author: Johnsyweb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-18 21:09:20