Meu editor de texto Vim

April 19, 2010

[Warning: This post is a backup recovery from my previous Wordpress blog. All content was automatically converted accessing a MySQL database using a Python script (details). Mostly are in Portuguese but if you are interest I can translate to English. If you found any problem dont’t hesitate to contact me in comments.]

Ovim a um bom tempo meu principal editor para a programao. Alm de utiliz-lo para todas as operaes "bsicas" de um editor de texto, vou apresentar rapidamente algumas coisas que fazem ele to til para mim.

1) Integrao com o ctags Ctrl+] e Ctrl+t

Muito til para projetos com vrios arquivos onde preciso navegar pela definies. Primeiro preciso gerar a lista de tags do diretrio com o cdigo-fonte.

ctags -R .

Se uma definio se encontra em mais de um lugar, posiciono o cursor no nome da funo/definio e entro com o comando :ts ao invs do Ctrl+]

2) Tabs (:tabe) e split (:split ou :vsplit)

Utilizo para abrir vrios 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) Integrao com o make (:make) e grep (:grep)

5) Tabs remotas

Este recurso s ativado se o vim foi compilado com o parmetro clientserver (no caso do Gentoo a opo vim-with-x). Permite que eu abra uma nica instncia do vim e a medida que for abrindo os arquivos eles so visualizados nessa instncia. Veja como simples:

Cria-se um servidor:

vim --servername coding

Verifica-se os servidores disponveis:

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 definies

Uma pequena personalizao 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 so auto-explicativos. O <F5> alterna a visibilidade da lista.

Lembre-se: toda documentao do vim est acessvel no prprio editor, basta :help comando. importante ler a documentao para aprender. Minha inteno no apresentar todos os modos de utilizao, o objetivo deste post apenas mostrar algumas possibilidades de uso.

:wq