2014-12-09 3 views
2

Мне интересно, как заказать и загрузить команды vimrc. В течение нескольких дней я искал документацию по vim, пытаясь найти и ответить и еще не найти то, что я ищу. Наиболее значимые страницы, которые я нашел являются:Vimrc Command Ordering

  • :h initialization
  • :h vimrc-intro
  • :h $VIM
  • :h $VIMRUNTIME
  • :h after-directory

Чтобы быть немного более четко:
Очевидно, что строки vimrc-файла выполняются и оцениваются последовательно по порядку, в котором они появляются в файле vimrc при выполнении vim, но в некоторых случаях менее очевидно, что отношения между настройками и каким порядком они должны быть происходят (или даже если это имеет значение). Я не смог найти страницу в руководстве пользователя, в которой есть дополнительная информация об этом. Есть ли что-то, что мне не хватает?

Я надеюсь, что может быть общее правило, которое применяется здесь, но, как я думаю, я думаю, что, вероятно, более вероятно, что ответы основаны на каждом конкретном случае.

Смысл команды vimrc упорядочения очень очевиден в некоторых случаях:

  • обнаружение Filetype должно быть отключено перед инициализацией менеджер runtimepath.
  • Перед регистрацией пакетов необходимо инициализировать диспетчер путей выполнения.
  • Плагины обычно предоставляют настройки по умолчанию, поэтому безопаснее настраивать свои настройки после, они были зарегистрированы & загружен.

Однако во многих случаях, я не понимаю, если упорядочение команды vimrc важно и то, что влияет на это может иметь:

  • Это обычная практика, чтобы установить filetype plugin indent on непосредственно после того, как ваш менеджер плагин завершения регистрации это плагины и перед появлением любых других команд, но это необходимо?
    • Одним из примеров, о которых я могу думать, но не уверен, являются автокоманды, которые задают конкретные параметры файла. Что произойдет, если вы создадите эти автокоманды до включения определения типа файла, плагинов типов файлов и отступов типа файла? Я бы предположил, что это связано с тем, как указатели обрабатываются внутри vim, но опять же, я действительно понятия не имею.
  • scriptencoding utf-8 указывает кодировку символов текущего скрипта, и я обычно вижу это в начале сценария. Я не вижу никакой информации в usermanual, которая указывает, важно ли расположение этой команды или какое влияние она может иметь.
  • :h initialization указывает, что при запуске, одна из первых вещей, ВИМ делает это проверка значений $SHELL & $TERM и устанавливает соответствующие ВИМ термин & переменные оболочки.Я обычно устанавливаю свои настройки кодировки & непосредственно после моего filetype plugin indent on, потому что я видел, как другие люди делают это, и это похоже, что это может повлиять на другие настройки, но, честно говоря, я понятия не имею, и я не могу найти документы, чтобы пролить свет ,
  • Настройки, подобные backup и backupdir. Порядок кажется несущественным - я могу установить backupdir, и если backup не установлен, то параметр просто игнорируется. Я могу включить backup до или после того, как я установил значение backupdir, и все будет работать должным образом. Я не уверен, что это важная информация для выяснения большего вопроса.

Суммировать:

  • Есть общее правило для определения порядка, в котором команды должны появиться в файле vimrc? Есть ли документация по этому вопросу, которую я не нашел в руководстве пользователя vim?
  • Если нет общего правила, существуют ли более конкретные правила & примеров, о которых вы знаете?
  • Есть ли у вас какие-либо способы отладки/устранения неполадок/тестирования для работы по этим вопросам?

Спасибо!

ответ

4

Плагины обычно предоставляют настройки по умолчанию, поэтому безопаснее настраивать свои настройки после их регистрации. & загружен.

Плагины поставляются после вашего ~/.vimrc. Когда вы помещаете свои строки let g:plugin_option = 1, это не имеет значения с технической точки зрения, если Vim видит их до получения соответствующих плагинов.

Это обычная практика, чтобы установить filetype plugin indent on непосредственно после того, как ваш менеджер плагин завершения регистрации его плагинов и до появления каких-либо других команд, но это необходимо?

Весь смысл этой практики заключается только в том, чтобы активировать обнаружение типов файлов и специфичные для файла типы плагинов и отступы. Обычно это делается ближе к вершине, потому что это базовая и очень полезная настройка. Это просто подталкивает материал менеджера плагинов, не более того.

Что произойдет, если вы создадите эти автокоманды до включения определения типа файла, плагинов типов файлов и отступов типа файла?

Аутокоманда является слушателем пассивного события: нет события, нет выполнения. Вы можете определить его до или после обнаружения типа файла, это не имеет значения.

scriptencoding utf-8 определяет кодировку символов текущего скрипта, и я обычно вижу это в начале скрипта. Я не вижу никакой информации в usermanual, которая указывает, важно ли расположение этой команды или какое влияние она может иметь.

Прежде чем эта команда будет выполнена, сценарий будет получен с использованием кодировки по умолчанию после выполнения этой команды, остальная часть скрипта будет выполнена с новой кодировкой. Чем раньше тем лучше.

:h initialization указывает, что при запуске, одна из первых вещей, ВИМ делает это проверка значений $SHELL & $TERM и устанавливает соответствующие термин ВИМ & переменные оболочки. Я обычно устанавливаю свои настройки кодировки & непосредственно после моего filetype plugin indent on, потому что я видел, как другие люди это делают, и похоже, что это может повлиять на другие настройки, но, честно говоря, я понятия не имею, и я не могу найти документы, чтобы пролить свет.

set shell…, как правило, полезно, но нет никаких причин, чтобы пересмотреть ваш TERM в вашем ~/.vimrc. Сделайте это в своих файлах init или непосредственно в эмуляторе терминала. Ни 'shell', ни 'term' не влияют на другие варианты Vim.

Настройки, такие как резервное копирование и резервное копирование. Заказ кажется несущественным - я могу установить backupdir, и если резервная копия не установлена, то параметр просто игнорируется. Я могу включить резервное копирование до или после того, как я установил значение backupdir, и все будет работать должным образом. Я не уверен, что это важная информация для выяснения большего вопроса.

Да, порядок вариантов обычно не имеет значения.

Есть ли общее правило для определения порядка, в котором команды должны появляться в файле vimrc? Есть ли документация по этому вопросу, которую я не нашел в руководстве пользователя vim?

Нет общего правила AFAIK. Специфика каждой опция/команды, как правило, четко описана в документации, и вы должны использовать здравый смысл:

  • источник функцию/команду перед вызовом
  • связанных с ним группой линий вместе
  • использования только полной форма варианты/названия команд