Recentemente, descobri que YouCompleteMe
existe uma g:ycm_autoclose_preview_window_after_insertion
opção que oculta automaticamente a janela de visualização da documentação após sair do modo de inserção e também comecei recentemente a usar o vim, portanto, foi a primeira vez que defini uma opção.
Então me perguntei se outros plugins que eu compilava no meu ambiente vim têm opções disponíveis, sem procurá-los manualmente.
Eles são registrados globalmente quando o vim é iniciado, para que um comando que os lista esteja disponível ou isso não possa ser feito?
Respostas:
O Vim não fornece nenhuma maneira de conhecer todas as opções possíveis de plugins.
Como criador de plugins, posso dizer que isso é bastante complexo, pois existem muitas maneiras diferentes de proceder. Por exemplo, ou consideramos que, se o usuário final não forneceu um valor para uma opção
.vimrc
, forçamos essa opção a existir e ser igual a um valor padrão, ou podemos dizer: "aceite o valor definido por o usuário final ou use um valor padrão codificado ".Com essa primeira abordagem, o usuário final pode ver a lista de opções disponíveis com a
c_CTRL-D
, ouc_TAB
, etc.Mais e mais plugins escolhem organizar todas as suas opções em dicionários. ou seja, em vez de ter
g:plugin_foo_option
eg:plugin_bar_option
, temosg:plugin.foo_option
eg:plugin.bar_option
. Isso evita poluir a listag:
de opções globais, mas perdemos o preenchimento automático da linha de comando (posso eventualmente abrir uma questão do assunto no vim github).Até agora, só falei sobre opções globais. A maioria dos plugins não tenta oferecer suporte a opções mais específicas, mesmo que devessem ter feito isso. Por exemplo, lamento que nem o YouCompleteMe nem o alternativo , nem muitos outros plugins, usem opções específicas do projeto em vez de opções globais. De fato, dependendo do projeto em que estou trabalhando, quero definir suas respectivas opções com valores diferentes. Infelizmente, este não é um fluxo de trabalho que eles consideraram. Nos meus plugins, muitas opções podem ser especializadas em projetos ou em buffer. Ultimamente, venho com um experimento sobre o assunto. Mas mesmo com o par
g:plugin_option
+ simples e usualb:plugin_option
, é quase impossível conhecer todas as opções disponíveis.Às vezes, tento oferecer comandos que ajudam a definir opções, como fiz com o build-tools-wrappers, ou até para exibir algumas opções no menu (ao usar o gvim), mas está longe de ser perfeito.
Receio que a documentação seja a melhor coisa disponível. Você pode até tentar
:h pluginname^D
. É provavelmente a melhor abordagem disponível.fonte
:h pluginname
é realmente muito bom! Portanto, não preciso sair do vim várias vezes para ler a documentação de plugins diferentes.O Vim não tem um referencial das opções disponíveis. o melhor que você pode fazer é ver o que foi inicializado.
Para opções de built-in do Vim há o comando
:set
. De:h :set
:Você não verá todas as opções disponíveis, apenas as que você modificou.
Você também pode usar
:let
para listar o valor de todas as variáveis declaradas e:let g:
para uma lista das variáveis globais. (Veja:h E121
uma lista da variável que você pode mostrar).Observe que essas listas nem sempre são fáceis de ler / analisar. Para os plugins, sua melhor opção é ler a documentação e encontrar a opção que você precisa.
Você também pode se interessar por esta dica da wikia como exibir o ambiente vim
fonte