Як перелічити доступні параметри плагіна?


10

Нещодавно я з'ясував, що YouCompleteMeє g:ycm_autoclose_preview_window_after_insertionпараметр, який автоматично приховує вікно попереднього перегляду документації після виходу з режиму вставки, а також я нещодавно почав використовувати vim, тому це був перший раз, коли я встановив параметр.

Тож я задумався, чи є у інших плагінів, які я забився у моєму середовищі vim, доступні варіанти, не шукаючи їх вручну.

Чи зареєстровані вони у всьому світі при запуску vim для того, щоб команда, яка перераховує їх, була доступною, або цього неможливо зробити?


Ви не можете. Змінні для плагінів повинні бути задокументовані. Неможливо дізнатися, які змінні використовуються, не читаючи код.
Крістіан Брабандт

Відповіді:


6

Vim не надає жодного способу знати всі можливі варіанти плагінів.

Як автор плагінів, я можу вам сказати, що це досить складно, оскільки існує багато різних способів. Наприклад, або ми вважаємо, що якщо кінцевий користувач не надав значення для опції, .vimrcтоді ми змушуємо цю опцію існувати і дорівнювати значенню за замовчуванням, або ми можемо сказати: "або приймемо значення, задане кінцевий користувач або використовувати жорстко закодоване значення за замовчуванням ".

При такому першому підході кінцевий користувач може побачити список доступних опцій із a 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, щоб прочитати документацію різних плагінів.
Юліан Онофрей

2

Vim не має посилання на доступні параметри. найкраще, що ви можете зробити, це побачити, що було ініціалізовано.

Для вбудованих параметрів Vim є команда :set. Від :h :set:

:se[t] Show all options that differ from their default value.

Ви не побачите всіх доступних параметрів, лише ті, які ви змінили.

Ви також можете використати :letдля переліку значень усіх оголошених змінних та :let g:для списку глобальних змінних. (Див. :h E121Список змінної, яку можна показати).

Зауважте, що ці списки не завжди легко читати / аналізувати. Для плагінів найкращий варіант - прочитати документацію та знайти потрібний варіант.

Вас також може зацікавити ця порада wikia як відобразити середовище vim


Прийняв іншу відповідь як більш детальну, хоча в цьому є цікаві команди, пов’язані з моїм запитанням, які можуть допомогти.
Юліан Онофрей
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.