Posso adicionar um conjunto de palavras ao vocabulário de preenchimento automático do Vim?

11

No Vim, estou ciente de usar CTRL-n e CTRL-p para preencher automaticamente as palavras encontradas no documento. Isso é ótimo para promover o uso de métodos descritivos e nomes de variáveis.

Eu gostaria de adicionar um conjunto de palavras ao preenchimento automático que geralmente eu faço, mas que não estão no arquivo de origem que estou editando no momento. Minha solução atual é apenas adicionar a lista de palavras a um comentário na parte inferior do meu arquivo de modelo, mas isso parece um pouco exagerado e confuso na melhor das hipóteses.

Existe uma maneira de adicionar palavras ao vocabulário de preenchimento automático do Vim que seria acessível a todas as sessões do Vim?

    
por madh 29.01.2010 / 20:32

2 respostas

10

Você pode usar abreviações no arquivo ~/.vimrc para apenas algumas palavras:

:abbr supe superuser
:abbr autoc autocomplete
:abbr que question

Estes serão completados automaticamente depois de pressionar Espaço ou Enter . Então, se você digitar que , em seguida, pressionar Espaço ou Enter , ele terminará a palavra "pergunta" para você.

Se você estiver adicionando muito e quiser essa interface:

Vocêpodeusar dicionários . Basta configurar um arquivo com uma palavra em cada linha e, em seu .vimrc, adicionar uma linha como esta:

set dictionary+=/home/john/dict.txt

Substitua o caminho pela localização do seu arquivo de dicionário. Você pode então usar Ctrl + x e Ctrl + k para trazer as sugestões. Ctrl + n e Ctrl + p para selecionar o próximo / anterior de múltiplas seleções.

    
por 29.01.2010 / 20:59
2

As "fontes" para o autocomplete regular (aquele que você obtém de Ctrl + N ) são retiradas da opção complete (consulte :h 'complete' ). o padrão é

complete=.,w,b,u,t

que significa

  1. . verifica o buffer atual
  2. w de buffers de verificação de outras janelas
  3. b verifica outros buffers carregados que estão na lista de buffers
  4. u verifica os buffers não carregados que estão na lista de buffers
  5. % de conclusão da tagt

você pode adicionar seu próprio dicionário com

set complete+=k~/.vim/keywords.txt

e adicione as palavras-chave uma por linha em ~/.vim/keywords.txt . Desta forma, você pode acessar as conclusões diretamente com Ctrl + N (não há necessidade de explicitamente invocar a conclusão do dicionário com Ctrl + X , Ctrl + K ). Eu achei isso especialmente útil para completações de código onde eu tenho todos os nomes de funções comuns usados em keywords.txt

    
por 05.12.2014 / 22:31