Пожалуйста, объясните иерархию каталогов конфигурации Vim - программирование
Подтвердить что ты не робот

Пожалуйста, объясните иерархию каталогов конфигурации Vim

Я пытаюсь обновить сценарии конфигурации Vim. В моем каталоге ~/.vim есть несколько подкаталогов, и я не уверен, что они делают, и почему есть некоторые, которые кажутся избыточными.

Вот как выглядит дерево каталогов ~/.vim

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

Теперь для конкретных вопросов.

  • Что происходит в plugin vs ftplugin?
  • В чем разница между plugin и autoload?
  • Когда мне нужно помещать что-то в after/..., а не в каталоги непосредственно под ~/.vim?
4b9b3361

Ответ 1

Все, что входит в plugin, загружается всякий раз, когда запускается vim, а то, что вы помещаете в ftplugin, загружается только для определенного типа файла, которому это соответствует (так что если у вас есть папка с именем python, все файлы будут загружены, когда вы открываете файл python. В autoload у вас должны быть функции, соответствующие сценариям, определенным в plugin. Функции здесь будут загружаться только при вызове в первый раз.

В after вы должны поместить настройки, которые вы хотите изменить, от обычной загрузки плагинов. В качестве примера предположим, что вам нравятся настройки, которые дает какой-то плагин для латекса, но он переопределил сопоставление, которое у вас было в вашем .vimrc. Вы можете вернуть это с помощью автокоманд или путем правильного определения правильных определений.

Ответ 3

Все эти каталоги являются частью runtimepath. Попробуйте :h runtimepath, и он свяжет вас с вашими ответами:

  • Отметьте :h write-plugin
  • Проверьте :h autoload-functions
  • after/... скрипты выполняются последними, поэтому они могут переопределять настройки предыдущих скриптов. Подробнее об этом можно узнать в :h runtimepath.