Meu editor de texto Vim
[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