options – ¿Cómo enumerar las opciones disponibles de un complemento?

Pregunta:

Recientemente descubrí que YouCompleteMe tiene una opción g:ycm_autoclose_preview_window_after_insertion que oculta automáticamente la ventana de vista previa de la documentación después de salir del modo de inserción, y también comencé recientemente a usar vim, así que esta fue la primera vez que configuré una opción.

Entonces me pregunté si otros complementos que apreté en mi entorno vim tienen opciones disponibles, sin buscarlas manualmente.

¿Están registrados globalmente cuando se inicia vim, para que un comando que los enumere esté disponible, o esto no se puede hacer?

Respuesta:

Vim no proporciona ninguna forma de conocer todas las posibles opciones de complementos.

Como escritor de complementos, puedo decirle 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 en su .vimrc , .vimrc que esta opción exista y sea igual a un valor predeterminado, o podemos decir: "o tome el valor establecido por el usuario final, o utilice un valor predeterminado codificado ".

Con ese primer enfoque, el usuario final puede ver la lista de opciones disponibles con c_CTRL-D , o c_TAB , etc.

Cada vez más complementos optan por 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 alternativo , ni muchos otros complementos, usen opciones específicas del proyecto en lugar de opciones globales. De hecho, dependiendo del proyecto en el que esté trabajando, quiero establecer sus respectivas opciones en diferentes valores. Desafortunadamente, este no es un flujo de trabajo que hayan considerado. En mis complementos, muchas opciones se pueden especializar en función del proyecto o del búfer. Últimamente se me ocurrió un experimento sobre el tema. Pero incluso con el par g:plugin_option + b:plugin_option habitual y simple, es casi imposible conocer todas las opciones disponibles.

A veces trato de ofrecer comandos que ayuden a configurar opciones como lo he hecho con build-tools-wrappers, o incluso mostrar algunas opciones en el menú (cuando uso gvim), pero en realidad está lejos de ser perfecto.

Me temo que la documentación es la mejor disponible. Incluso puedes probar a :h pluginname^D Probablemente sea el mejor enfoque disponible.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım