Когда использовать после каталога /?

14

Я понимаю, что это то место, где можно поставить вещи, которые должны иметь решающее значение, а не быть отвергнутыми из другого источника, но мне неясно, как решить, когда что-то добавить, скажем, ~/.vim/after/ftplugin/а не ~/.vim/ftplugin/.

Есть люди , как правило , используют ~/.vim/ftplugin/и двигаться только вещи в ~/.vim/after/ftplugin/если они наблюдают нежелательное поведение, или же они просто положить все это в каталоге после-сразу?

иван
источник

Ответы:

20

Как правило, если вы хотите добавить свой собственный плагин или заменить стандартный плагин своим собственным, он будет добавлен в ~/.vim/pluginили ~/.vim/ftplugin. Если вместо этого вы хотите сохранить функциональность существующего плагина, но добавить к нему или изменить только несколько настроек, сделанных им, тогда ваш плагин перейдет в ~/.vim/after/pluginили ~/.vim/after/ftplugin.

garyjohn
источник
По какой-то причине я всегда предполагал, что Vim искал путь времени выполнения и искал каждый файл, который соответствовал критериям поиска, а не просто искал первое найденное совпадение. Это звучит так, будто вещи в каталоге after получают такую ​​обработку «в дополнение к», но, может быть, все остальное обрабатывается больше как переменная Unix PATH, где выигрывает первое совпадение?
иван
5
Vim создает исходный файл для каждого файла, который соответствует критериям поиска, но правильно написанные плагины имеют тест в верхней части формы if exists("g:loaded_<plugin name>") finish endif let g:loaded_<plugin name> = 1. Плагин, который загружает первые «выигрывает», и последующие плагины с тем же именем выходят из команды досрочно finish. Вот как плагин в вашем ~/.vim/pluginкаталоге, например, может предотвратить $VIMRUNTIME/pluginзагрузку плагина полностью. Этот тест не включен в afterфайлы плагинов.
garyjohn
Хорошо, я думаю, я понял это сейчас. Поскольку все соответствующие файлы будут получены, использовать finishкараульном положение , когда вы хотите загрузить только первый матч, и использовать после-каталог ( без в finishкараульном пункт) , когда вам необходимо изменить настройки, затронуло одного из другога источники.
иван
1

если ваниль ВИМ распознает определенный тип файла, и вы хотите изменить погружено поведение, то ваши собственные настройки идут в ~/.vim/after/ftplugin/

Науманн
источник