Friday, April 18, 2008

Vim :: Agilizando tarefas simples

O único objetivo deste artigo é agilizar tarefas do dia-a-dia; coisas que você fazia sem pensar no notepad e tem dificuldade pra reproduzir no vim. Não farei comparações entre editores, muito menos ensinarei a transformar o vim numa IDE poderosa; coisa que nós sabemos que ele pode fazer. Boa leitura.

.vimrc
O .vimrc é o arquivo que guarda configurações do vim. Tudo o que estiver nele será carregado assim que o vim for aberto.
Para que ele seja carregado você pode criá-lo no seu diretório home:
touch ~/.vimrc
Segue a cópia do meu .vimrc:

" Modo de compatibilidade desligado
set nocompatible
" Auto indent, para identar o texto automaticamente.
set ai
" Exibir os números das linhas
set number
" Para o backspace trabalhar normalmente
set backspace=2
" Deixar tudo colorido
syntax on
" Atalhos para fazer WQ (maiúsculos) também funcionarem como write e quit
cab W w
cab Wq wq
cab wQ wq
cab WQ wq
cab Q q

Observação: Todas as linhas que começam com aspas são comentários.

Interpretando os comandos
A tecla Control será representada neste artigo com o caracter ^. Portanto Ctrl+C será representado assim:
^C
Uma tecla específica será representada entre os caracteres <>. Portanto ESC será representado como:
<esc>

Modo de inserção e modo de comando
No modo de inserção é que você digitará textos. Quando você entra no vim, ele está no modo de comando; para entrar no modo de inserção simplesmente tecle i. A mensagem -- INSERT -- deverá aparecer no rodapé. Agora é só digitar o texto normalmente como em qualquer outro editor.

Para voltar ao modo de comando, tecle <esc>. Como o nome já diz é no modo de comando em que as operações são realizadas. Como por exemplo copiar e colar, sair e salvar.

Entrar, sair e salvar.
Para abrir um arquivo no vim apenas passe o nome do arquivo como parâmetro:
vim teste.out
Para sair sem salvar esteja no modo de comando e use o comando q seguido de !.
Para salvar use o comando w.
Para sair e salvar use wq.

Comandos básicos que você precisa saber.

Copiar a linha atual: yy
Copiar da posição atual até o início do arquivo: ygg
Copiar da posição atual até o fim do aquivo: yG
Copiar da posição atual até o início da linha: y^
Copiar da posição atual até o fim da linha: y$

Recortar a linha atual: dd
Recortar da posição atual até o início do arquivo: dgg
Recortar da posição atual até o fim do aquivo: dG
Recortar da posição atual até o início da linha: d^
Recortar da posição atual até o fim da linha: d$

Recortar também pode ser usado para simplesmente deletar o conteúdo.

Colar na linha de baixo: p
Colar na linha de cima: P

Desfazer (equivalente ao CTRL+Z do Windows): u
Desfazer todas as mudanças da última linha: U
Desfazer o último desfazer: ^R

Quando você conseguir usar isso sem pensar muito já vai estar familiarizado com o vim.
Você pode encontrar artigos sobre recursos mais avançados nas referências.

Referências
http://pt.wikibooks.org/wiki/Vim
http://aurelio.net/vim/