Недавно я обнаружил, что YouCompleteMe
есть g:ycm_autoclose_preview_window_after_insertion
опция, которая автоматически скрывает окно предварительного просмотра документации после выхода из режима вставки, и я также недавно начал использовать vim, так что это был первый раз, когда я установил эту опцию.
Поэтому мне стало интересно, есть ли в других плагинах, которые я установил в моей среде vim, доступные варианты, не ища их вручную.
Регистрируются ли они глобально при запуске vim, чтобы команда, которая перечисляет их, была доступна, или это не может быть сделано?
Ответы:
Vim не предоставляет возможности узнать все возможные варианты плагинов.
Как автор плагинов, я могу сказать вам, что это довольно сложно, так как есть много разных способов продолжить. Например, либо мы считаем, что если конечный пользователь не предоставил значение для параметра в его,
.vimrc
то мы заставляем этот параметр существовать и быть равным значению по умолчанию, или мы можем сказать: «либо принять значение, установленное конечному пользователю, или используйте жестко заданное значение по умолчанию ".При таком первом подходе конечный пользователь может видеть список доступных параметров с помощью
c_CTRL-D
илиc_TAB
, и т. Д.Все больше и больше плагинов предпочитают организовывать все свои опции в словари. то есть, вместо того , чтобы
g:plugin_foo_option
иg:plugin_bar_option
у нас естьg:plugin.foo_option
иg:plugin.bar_option
. Это позволяет избежать загрязнения спискаg:
глобальных опций, но мы теряем автодополнение в командной строке (я могу в конечном итоге открыть тему вопроса на vim github).До сих пор я говорил только о глобальных вариантах. Большинство плагинов не пытаются поддерживать более конкретные параметры, даже если они должны были это сделать. Например, я сожалею, что ни YouCompleteMe, ни альтернативные , ни многие другие плагины не используют специфичные для проекта опции вместо глобальных. Действительно, в зависимости от проекта, над которым я работаю, я хочу установить для соответствующих параметров разные значения. К сожалению, это не рабочий процесс, который они рассмотрели. В моих плагинах многие параметры могут быть специализированными на проектной или буферной основе. В последнее время я выступил с экспериментом на эту тему. Но даже с обычной и простой парой
g:plugin_option
+ практическиb:plugin_option
невозможно узнать все доступные варианты.Иногда я пытаюсь предложить команды, которые помогают устанавливать параметры, как я делал с build-tools-wrappers, или даже отображать некоторые параметры в меню (при использовании gvim), но это действительно далеко от совершенства.
Я боюсь, что документация - лучшая доступная вещь. Вы даже можете попробовать
:h pluginname^D
. Это, вероятно, лучший доступный подход.источник
:h pluginname
самом деле это очень здорово! Поэтому мне не нужно уходить из vim несколько раз, чтобы прочитать документацию по различным плагинам.Vim не имеет ссылки на доступные опции. лучшее, что вы можете сделать, это посмотреть, что было инициализировано.
Для встроенных опций Vim есть команда
:set
. От:h :set
:Вы не увидите все доступные опции, только те, которые вы изменили.
Вы также можете использовать
:let
для перечисления значения всех объявленных переменных и:let g:
для списка глобальных переменных. (Смотрите:h E121
список переменных, которые вы можете показать).Обратите внимание, что эти списки не всегда легко читать / анализировать. Для плагинов лучше всего прочитать документацию и найти нужный вариант.
Вы также можете быть заинтересованы в этом совете вики о том, как отображать среду vim
источник