J'ai récemment découvert qu'il y YouCompleteMe
avait une g:ycm_autoclose_preview_window_after_insertion
option qui masque automatiquement la fenêtre d'aperçu de la documentation après avoir quitté le mode d'insertion, et j'ai également récemment commencé à utiliser vim, c'était donc la première fois que je définissais une option.
Je me suis donc demandé si d'autres plugins que j'avais bourrés dans mon environnement vim avaient des options disponibles, sans les chercher manuellement.
Sont-ils enregistrés globalement au démarrage de vim, afin qu'une commande qui les répertorie soit disponible, ou cela ne peut pas être fait?
Réponses:
Vim ne fournit aucun moyen de connaître toutes les options de plugin possibles.
En tant que rédacteur de plugin, je peux vous dire que c'est assez complexe car il existe de nombreuses façons de procéder. Par exemple, soit nous considérons que si l'utilisateur final n'a pas fourni de valeur pour une option dans son,
.vimrc
alors nous forçons cette option à exister et à être égale à une valeur par défaut, ou nous pouvons dire: "soit prendre la valeur définie par l'utilisateur final, ou utilisez une valeur par défaut codée en dur ".Avec cette première approche, l'utilisateur final peut voir la liste des options disponibles avec un
c_CTRL-D
, ouc_TAB
, etc.De plus en plus de plugins choisissent d'organiser toutes leurs options dans des dictionnaires. c'est-à-dire, au lieu d'avoir
g:plugin_foo_option
etg:plugin_bar_option
, nous avonsg:plugin.foo_option
etg:plugin.bar_option
. Cela évite de polluer la listeg:
des options globales, mais on perd l'auto-complétion en ligne de commande (je pourrai éventuellement ouvrir un problème sur le sujet, sur vim github).Jusqu'à présent, je n'ai parlé que d'options globales. La plupart des plugins n'essaient pas de prendre en charge des options plus spécifiques même s'ils auraient dû le faire. Par exemple, je regrette que ni YouCompleteMe ni alternatif , ni de nombreux autres plugins, n'utilisent des options spécifiques au projet au lieu des options globales. En effet, selon le projet sur lequel je travaille, je souhaite définir leurs options respectives sur des valeurs différentes. Malheureusement, ce n'est pas un flux de travail qu'ils ont envisagé. Dans mes plugins, de nombreuses options peuvent être spécialisées sur la base de projets ou de tampons. Dernièrement, je suis venu avec une expérience sur le sujet. Mais même avec la paire
g:plugin_option
+ simple et habituelleb:plugin_option
, il est presque impossible de connaître toutes les options disponibles.Parfois, j'essaie de proposer des commandes qui aident à définir des options comme je l'ai fait avec build-tools-wrappers, ou même d'afficher certaines options dans le menu (lors de l'utilisation de gvim), mais c'est vraiment loin d'être parfait.
J'ai peur que la documentation soit la meilleure chose disponible. Vous pouvez même essayer un
:h pluginname^D
. C'est probablement la meilleure approche disponible.la source
:h pluginname
c'est vraiment très bien! Je n'ai donc pas à m'éloigner de vim plusieurs fois pour lire la documentation de différents plugins.Vim n'a pas de référentiel des options disponibles. le mieux que vous puissiez faire est de voir ce qui a été initialisé.
Pour les options intégrées de Vim, il y a la commande
:set
. De:h :set
:Vous ne verrez pas toutes les options disponibles, seulement celles que vous avez modifiées.
Vous pouvez également utiliser
:let
pour lister la valeur de toutes les variables déclarées et:let g:
pour une liste des variables globales. (Voir:h E121
pour une liste de la variable que vous pouvez afficher).Notez que ces listes ne sont pas toujours faciles à lire / analyser. Pour les plugins, votre meilleure option est de lire la documentation et de trouver l'option dont vous avez besoin.
Vous pouvez également être intéressé par cette astuce wikia comment afficher l'environnement vim
la source