Vim: Autocompletar com TAB

O Vim usa o conjunto de teclas ‘Ctrl+n’ e ‘Ctrl+p’ para o recurso da autocompletação de palavras, porem quem trabalha direto com linha de comando as vezes acaba sentindo falta da tecla ‘Tab’ fazendo esse serviço. Pois bem, para tornar isso possível edite seu ‘.vimrc’ e adicione a seguinte função:

function AutoCompletar(direcao)
   let posicao = col(".") - 1
   if ! posicao || getline(".")[posicao - 1] !~ 'k'
      return "<Tab>"
   elseif a:direcao == "avancar"
      return "<C-n>"
   else
      return "<C-p>"
   endif
endfunction

E logo abaixo dela os mapeamentos:

inoremap <Tab> <C-R>=AutoCompletar("avancar")<CR>
inoremap <S-Tab> <C-R>=AutoCompletar("voltar")<CR>

Com isso a tecla ‘Tab’ com ajuda dessa função fará o trabalho das teclas supracitadas, tornando as coisas bem mais produtivas e divertidas! Por exemplo ao pressionar ‘Tab’ será mostrado um menu com as opções a serem percorridas de cima para baixo. Já ‘Shift + Tab’, mostra o mesmo menu porém percorrido de baixo para cima.

Agora se você está acostumado ao atalho ‘Ctrl + Barra de espaço’ dos grandes IDE’s como Netbeans, Eclipse, Geany, etc… e gostaria de utilizar o mesmo no Vim, basta substituir as ocorrências de ‘Tab’ e ‘S-Tab’ por ‘C-@’ e ‘S-@’ respectivamente e você terá o resultado desejado.

Obs2.: Note que está função serve apenas para completar palavras e não blocos de códigos. Para isso busque scripts específicos para a linguagem de programação desejada em http://www.vim.org/scripts

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s