O vim é a um bom tempo meu principal editor para a programação. Além de utilizá-lo para todas as operações “básicas” de um editor de texto, vou apresentar rapidamente algumas coisas que fazem ele tão útil para mim.
1) Integração com o ctags Ctrl+] e Ctrl+t
Muito útil para projetos com vários arquivos onde é preciso navegar pela definições. Primeiro é preciso gerar a lista de tags do diretório com o código-fonte.
ctags -R .
Se uma definição se encontra em mais de um lugar, posiciono o cursor no nome da função/definição e entro com o comando :ts ao invés do Ctrl+]
2) Tabs (:tabe) e split (:split ou :vsplit)
Utilizo para abrir vários arquivos em abas. Para movimentar entre ele utilizo “<n>gt” ou simplemente “gt“. Já o [v]split divide a tela, para alterar o foco uso o comando Ctrl+w w
3) Shell (:sh)
Acessar a shell do sistema sem fechar o editor, retorno digitando exit
4) Integração com o make (:make) e grep (:grep)
5) Tabs remotas
Este recurso só é ativado se o vim foi compilado com o parâmetro clientserver (no caso do Gentoo é a opção vim-with-x). Permite que eu abra uma única instância do vim e a medida que for abrindo os arquivos eles são visualizados nessa instância. Veja como é simples:
Cria-se um servidor:
vim --servername coding
Verifica-se os servidores disponíveis:
vim --serverlist CODING
Aproveitando, um alias para facilitar a vida:
alias v="vim --servername CODING --remote-tab"
Depois é editar o arquivo normalmente:
v bla.c
6) Lista de definições
Uma pequena personalização no arquivo ~/.vimrc e um plug-in chamado taglist
let Tlist_Ctags_Cmd="/usr/bin/ctags" let Tlist_WinWidth = 50 map <F5> :TlistToogle<cr>
Os comandos são auto-explicativos. O <F5> alterna a visibilidade da lista.
Lembre-se: toda documentação do vim está acessível no próprio editor, basta :help comando. É importante ler a documentação para aprender. Minha intenção não é apresentar todos os modos de utilização, o objetivo deste post é apenas mostrar algumas possibilidades de uso.
:wq

