Vim Plugins · 4 min read · Nov 30, 2025
Plugins úteis do editor Vim para desenvolvedores de software - parte 3: a.vim
Até agora, nesta série de artigos cobrindo plugins relacionados à programação para o Vim, discutimos os fundamentos da instalação de plugins do Vim usando o gerenciador de plugins Pathogen e cobrimos um total de três plugins - nomeadamente Tagbar, delimitMate e Syntastic. Agora, nesta terceira e última parte, discutiremos outro plugin muito útil chamado a.vim.
Por favor, note que todos os exemplos, comandos e instruções mencionados neste tutorial foram testados no Ubuntu 16.04, e a versão do Vim que usamos é 7.4.
A.vim
Se você está envolvido no desenvolvimento de software e trabalha com linguagens de programação como C e C++, você concordaria que é praticamente impossível contar quantas vezes você precisa alternar entre arquivos de origem e arquivos de cabeçalho. O que quero dizer é que é uma tarefa muito básica que é feita com muita frequência.
Embora seja fácil alternar entre arquivos ao usar um IDE baseado em GUI (já que você só precisa fazer alguns cliques com o mouse), as coisas ficam um pouco difíceis se você estiver usando um IDE de linha de comando como o Vim. No entanto, como você já deve ter adivinhado, existe um plugin - chamado a.vim - que facilita a sua vida, especialmente quando se trata de alternar entre arquivos de origem e arquivos de cabeçalho.
Antes de saltarmos para o uso, vale a pena mencionar que o processo de instalação deste plugin é diferente da maneira como temos instalado os outros plugins discutidos nesta série de artigos. A seguir estão os passos envolvidos neste caso:
- Primeiro, você precisa baixar alguns arquivos (a.vim e alternate.txt), o que você pode fazer indo aqui.
- Em seguida, crie os seguintes diretórios: ~/.
vim/bundle/avim, ~/.vim/bundle/avim/doc, ~/.vim/bundle/avim/plugin, e ~/.*vim/bundle/autoload*. - Uma vez que a criação do diretório esteja concluída, coloque a.vim em ~/.vim/bundle/avim/plugin e ~/.vim/bundle/autoload, e alternate.txt em ~/.vim/bundle/avim/doc.
É isso. Se todos os passos mencionados acima forem concluídos com sucesso, o plugin será instalado em seu sistema.
Usar o plugin é muito simples: tudo o que você precisa fazer é executar o comando :A - se o arquivo atual for um arquivo de origem (digamos test.c), o plugin abrirá o arquivo de cabeçalho correspondente (test.h) para você (o inverso também é verdadeiro).
Obviamente, nem sempre um arquivo correspondente com o mesmo nome existe. Nesses casos, executar :A criará um novo arquivo com esse nome. Por exemplo, se test.h não existir, um arquivo com esse nome será criado e aberto para você.
Caso você queira desativar esse comportamento, você pode definir a variável g:alternateNoDefaultAlternate (dê a ela um valor diferente de zero) no arquivo .vimrc presente em seu diretório home.
Seguindo em frente, é bastante normal referir-se a um arquivo de cabeçalho não correspondente a partir de um arquivo de origem também. Por exemplo, se você estiver em test.c e quiser alternar para algum outro arquivo de cabeçalho (digamos mem.h) e não test.h, então você pode fazer isso executando o comando : IH
Até agora, toda a funcionalidade que discutimos assume que o arquivo que você pretende abrir está presente no mesmo diretório que o arquivo atual. No entanto, como você deve concordar, nem sempre é o caso. O que quero dizer é que em muitos projetos a localização dos arquivos de origem e dos arquivos de cabeçalho correspondentes nem sempre está no mesmo diretório.
Para lidar com tais situações, você precisa usar a variável g:alternateSearchPath. Isso é o que a documentação oficial diz sobre essa variável:
“Este plugin permite que o caminho de pesquisa que usa para localizar arquivos de origem e cabeçalho seja configurado. O caminho de pesquisa é especificado definindo a variável g:alternateSearchPath. A configuração padrão é a seguinte:”
g:alternateSearchPath = 'sfr:../source,sfr:../src,sfr:../include,sfr:../inc' “Isso indica que o arquivo correspondente será procurado em ../source, ../src, ../include e ../inc, todos relativos ao arquivo atual de onde está sendo feita a troca. O valor da variável g:alternateSearchPath é simplesmente uma lista separada por vírgulas de prefixos e diretórios. O prefixo “sfr:” indica que o caminho é relativo ao arquivo. Outros prefixos são “wdr:” que indica que o diretório é relativo ao diretório de trabalho atual e “abs:” que indica que o caminho é absoluto. Se nenhum prefixo for especificado, “sfr:” é assumido.”
Se todos os recursos mencionados deste plugin já fizeram você dizer “uau”, deixe-me dizer que isso não é tudo. Outra funcionalidade extremamente útil que o plugin oferece é a capacidade de dividir sua tela do Vim para que tanto o arquivo de origem quanto seu arquivo de cabeçalho correspondente possam ser visualizados simultaneamente.
O que é mais, você pode dividir a tela tanto horizontalmente quanto verticalmente, dependendo do que se adapta melhor a você. Use o comando :AS para dividir a tela horizontalmente e o comando :AV para a divisão vertical.


Use o comando :A para alternar entre os arquivos abertos.
O plugin também permite que você abra um arquivo correspondente em uma aba separada dentro da mesma janela do Vim. Você pode fazer isso executando o comando :AT.

Claro, assim como :AV, :AS e :AT, você também pode usar os comandos :IHV, :IHS e :IHT.
Conclusão
Embora existam muitos plugins relacionados à programação disponíveis para uso, os que discutimos nesta série de três partes devem ser suficientes para lhe dar uma ideia de quão poderoso o editor se torna se você tiver os plugins corretos habilitados para o seu trabalho de desenvolvimento de software.
Claro, nós apenas focamos na parte de programação aqui. Para aqueles de vocês que usam o Vim como seu editor de texto diário, vocês devem saber que há uma infinidade de plugins disponíveis que adicionam à funcionalidade de edição de texto do Vim e a tornam ainda melhor. Mas deixaremos essa discussão para outro dia.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.