Лучший способ организовать настройки FileType в .VIM и .VIMRC?
Вопрос
Я прохожу через мою Vim dotFiles, чтобы привести их. Я заметил, что через время я добавил различные специфические настройки FileType в различных противоречивых способах. Допустим, я настраиваю для Python:
au BufRead,BufNewFile *.py (do something)
. Отказ Мне это не нравится, потому что некоторые файлы Python могут не иметь прекращения .py.au FileType python (do something)
. Отказ Это кажется лучшим вариантом, потому что он не зависит от файла, имеющего прекращение .py. Недостаток - это то, что VIM не знает о некоторых филеипаках. Я могу сделать VIM распознавать дополнительные филеипы, но у меня также есть различные противоречивые способы сделать это:.vim/filetype.vim
файл, другой в.vim/after/filetype.vim
и разнообразноset filetype
команды внутри.vimrc
.Добавить
.vim/ftplugin/python.vim
Файл с определенными настройками FileType. Я понимаю$VIMRUNTIME/ftplugin/python.vim
Можете переопределить любые настройки, которые я здесь зарабатываю. Одна проблема в том, что я не уверен, как это взаимодействует с.vim/filetype.vim
а также.vim/after/filetype.vim
.Добавить
.vim/after/ftplugin/python.vim
. Отказ Я понимаю, что это загружено после$VIMRUNTIME/ftplugin/python.vim
Так что он может перезаписать настройки оттуда. Как и в предыдущем методе, я не уверен, как он взаимодействует сfiletype.vim
файлы.
Таким образом, у меня есть как минимум четыре способа сделать это, не упоминание синтаксических файлов и FileType-специфичных плагинов. Мне кажется лучшим способом сделать это - поставить свои определенные настройки FileType в after/ftplugin
так что они не перезаписываются и filetypes.vim
в after
по той же причине.
Однако, прежде чем я продолжаю спросить, есть ли у кого-то предложений о наилучшем способе борьбы с конкретными настройками FileType.
Решение
Я сохраняю свои настройки Python-специфики в $HOME/.vim/ftplugin/python.vim
, так как я ничего не делаю, чтобы противоречить $VIMRUNTIME/ftplugin/python.vim
.
Сохранение этих настроек в ftplugin
Файл сохраняет мой .vimrc
Хороший и общий и легче поддерживать (он все еще довольно большой после десяти лет использования VIM).
Если вы хотите переоценивать что за ftplugin
с вашим распределением VIM настроен, затем $HOME/.vim/after/ftplugin/python.vim
это то, что вы хотите, как это читается after
эти.
по аналогии $HOME/.vim/filetype.vim
будет поставлен раньше $VIMRUNTIME/filetype.vim
и что в свою очередь будет поставлено раньше $HOME/.vim/after/filetype.vim
.
Вызов :scriptnames
будет перечислять все имена источников сценариев, в порядке их сначала истощены.
:help filetype
Обеспечивает довольно полную информацию обо всем этом.