abr
19
2010

Meu editor de texto: Vim

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

tags:
posted in programação by Tiago Maluta

Follow comments via the RSS Feed | Deixe um comentário | Trackback URL

Leave Your Comment