Vim no proporciona ninguna forma de conocer todas las opciones posibles de complementos.
Como escritor de complementos, puedo decirte que esto es bastante complejo, ya que hay muchas formas diferentes de proceder. Por ejemplo, consideramos que si el usuario final no ha proporcionado un valor para una opción .vimrc
, forzamos esta opción a existir y que sea igual a un valor predeterminado, o podemos decir: "o tome el valor establecido por el usuario final, o use un valor predeterminado codificado ".
Con ese primer enfoque, el usuario final puede ver la lista de opciones disponibles con un c_CTRL-D
, o c_TAB
, etc.
Cada vez más complementos eligen organizar todas sus opciones en diccionarios. es decir, en lugar de tener g:plugin_foo_option
y g:plugin_bar_option
, tenemos g:plugin.foo_option
y g:plugin.bar_option
. Esto evita contaminar la lista g:
de opciones globales, pero perdemos el autocompletado de la línea de comandos (eventualmente puedo abrir un problema del tema, en vim github).
Hasta ahora solo he hablado de opciones globales. La mayoría de los complementos no intentan admitir opciones más específicas, incluso si deberían haberlo hecho. Por ejemplo, lamento que ni YouCompleteMe ni alternativa , ni muchos otros complementos, usen opciones específicas del proyecto en lugar de opciones globales. De hecho, dependiendo del proyecto en el que estoy trabajando, quiero establecer sus respectivas opciones a diferentes valores. Desafortunadamente, este no es un flujo de trabajo que hayan considerado. En mis complementos, muchas opciones pueden especializarse en base a proyectos o en búfer. Últimamente se me ocurrió un experimento sobre el tema. Pero incluso con el par g:plugin_option
+ simple y habitual b:plugin_option
, es casi imposible conocer todas las opciones disponibles.
A veces trato de ofrecer comandos que ayudan a configurar las opciones como lo hice con build-tools-wrappers, o incluso mostrar algunas opciones en el menú (cuando uso gvim), pero está muy lejos de ser perfecto.
Me temo que la documentación es lo mejor disponible. Incluso puedes probar a :h pluginname^D
. Es probablemente el mejor enfoque disponible.