Dicas de como aumentar a produtividade usando autocmd no vim

Quantas vezes você faz um arquivo que é exatamente igual à um outro arquivo por dia? Quantas vezes você abre um arquivo só para copiar um trecho de código que é utilizado em vários arquivos? Quantas vezes você se vê fazendo a mesma coisa que fez em outro lugar?

E aquela palavra que você sempre escreve errada? Aquela função que você sempre esquece o nome?

Conheça algumas dicas para aumentar a produtividade e diminuir o trabalho dessas coisas rotineiras.


Leia o resto do post »

Como dar Commits SVN com Vim

Em alguns projetos, ao se dar um commit, é necessário especificar quais arquivos foram adicionados ou modificados e ainda mencionar o porque. Algo do tipo:

functions.pl – Adicionada a função que faz aquilo e corrigida a função tal que tinha um erro de português.

É realmente um porre ver todos os arquivos que foram modificados e dizer as mudanças, mas é necessário. Aqui vai uma dica pra quem quer melhorar isso e, por que não, automatizar. Vou utilizar o exemplo com o svn, mas adaptem para o que vocês usam.

$ cd /raiz/do/repositorio
$ svn status | vim -
$ svn commit -F /tmp/commit

Aquela segunda linha, joga a saída do comando `svn status` em um buffer no Vim. Assim, podemos editar melhor. Caso o servidor seja externo e demore muito uma resposta, apenas aguarde. A saída do shell irá para buffer, apenas aguarde.

Com tudo pronto, podemos fazer algumas substituições:

:%s/^A\s\+/[ADICIONADO] /g
:%s/^D\s\+/[REMOVIDO] /g
:%s/^M\s\+/[MODIFICADO] /g

Cada letra da primeira coluna, indica o status do arquivo no projeto. Uma lista completa com as opções pode ser encontrada em http://svnbook.red-bean.com/en/1.4/svn.ref.svn.c.status.html

Agora você organiza seu log. Escreve porque foi adicionado o arquivo X, removido o arquivo Y e etc. Depois de pronto, basta salvá-lo e utilizá-lo como log do commit.

:sav /tmp/commit
$ svn commit -F /tmp/commit
$ rm /tmp/commit

Uma outra maneira de se fazer isso é usando o Vim como editor default do SVN.

vim ~/.bashrc

Acrescente as seguintes linhas:

export SVN_EDITOR=/usr/bin/vim

Agora, ao usar `svn commit`, o vim irá ser aberto para você especificar o motivo.

Acho que é isso! Comentem =)

Como fazer tudo com GVim – Parte 2

Hey! Dando continuidade à série: ‘Como Fazer Tudo com o GVim’, nesse segundo post, vou mostrar algumas coisas que podem não fazer muito sentido, mas fazem, definitivamente acerca do que o vim é capaz (e ótimo que o seja) de fazer.

Como o vim tem suporte à programação em python e ruby, ou seja, você pode programar em python ou ruby para fazer plugins e afins para o vim, pode-se, evidentemente, utilizar biliotecas nativas das linguages, ou até mesmo API’s próprias.


Leia o resto do post »

Como fazer um mini servidor HTTP em Python

Olá! Estava lendo minhas mail lists matinais, mais especificadamente a mail list do TcheLinux (evento que, aliás, irá ocorrer em Gravataí sábado que vem, dia 28/03), quando me deparo com um post de Leonardo Menezes Vaz falando de um mini servidor http em python. Achei muito interessante e resolvi postar aqui.


Leia o resto do post »

Como usar mod_rewrite de verdade

Rá! Hoje quero falar sobre mod_rewrite. Um módulo para o apache que permite reescrever URL’s. Ele é muito útil em vários sentidos: aumenta a o page rank em buscadores, torna URL’s limpas e inteligíveis, fazendo com que o usuário consiga lembrá-las muito mais rápida e facilmente.

Porém, como todos os outros artefatos que estão por aí, pode complicar ainda mais a vida de um programador, caso não seja usado adequadamente.


Leia o resto do post »

Por que usar Clean URL’s?

Olá! Este post é na verdade uma introdução para o próximo. Que trará formas de se trabalhar com Clean URL’s. Este, por sua vez, é mais teórico. Portanto, se você estiver em dúvida se usar ou não, qual os ganhos dela e etc, sinta-se a vontade de ler, comentar e criticar o post abaixo.


Leia o resto do post »

Gravando Sessões no Vim

Pense na cena: você está programando uma certa funcionalidade de um determinado projeto, vamos chamá-lo de A. Então, você tem 4 arquivos abertos em buffers dentro do Vim. Criou uns mapeamentos do teclado extra, só para o momento. Também tem marcadores que pulam de um trecho do código para outro. Está tudo do jeito que você adora.

Chega, então, o seu chefe e diz: “Cara, preciso que tu veja algo em outro projeto.” ou até mesmo atualiza seu kernel e precisa rebootar o sistema. Chega sua namorada e pede pra ver o orkut. Seja qual seja o motivo, você precisa fechar o Vim. Mas, mais tarde, vai voltar a mexer, nestes 4 mesmos arquivos. Vai refazer todos os mapeamentos, refazer as marcações, etc.

Pois, se já aconteceu isso com você – comigo acontece muito frequênte -, você pode usar o :mksession.

Leia o resto do post »

Humor no VIM

Bom, essa semana foi difícil… Trabalhando noite a dentro até de manhã, sem parar… Cansei! Essa semana me cansou de verdade. Então, pra descontrair um pouco, juntei umas tirinhas sobre o VIM que eu já tinha favoritado e vou postar aqui. Vale a pena dar uma lida.

Emacs x Vim

Emacs x Vim

Vi x Emacs

Vi x Emacs

Curva Aprendizado dos Editores

Curva Aprendizado dos Editores

Programadores de verdade...

Programadores de verdade...

Dicas de movimentação e identação no GVim

Das coisas que mais me deixam frustados na face da terra, além de pegar código desidentado ou identado de forma errada, é ouvir coisas do tipo ‘no eclipse é mais fácil, só dar CTRL+…’, ‘ah, porque no notepad++ da pra fazer isso mais fácil…’.

Essa semana eu escutei algo do tipo: ‘No notepad++, CTRL+SHIFT+UP move a linha atual pra cima, o GVim podia ter um comando que fizesse isso.’ (Citada pelo reclamão-mor, Luan). Indignados, eu e Emanuel (sim, ele me ajudou) gastamos mais ou menos 1 hora de trabalho ajeitando umas HOTKEYS para ninguém reclamar. (Chefe, eu sei que tu lê o Blog, mas dá um desconto, vai?). Eis o que surgiu:


Leia o resto do post »

Como baixar e converter vídeos do youtube no linux

Aloha! Neste pequeno e simples tutorial (afinal de contas baixar e converter vídeos do youtube é bem mais simples do que você imagina!) vou mostrar a forma mais roots de como baixar vídeos do youtube e converter ela para o formato que quiser. Para isso, vou usar o Slackware 12.2 (testei também no ubuntu 8.04 e funcionou legal).

Bom, vamos aos requisitos dos quais vamos precisar:


Leia o resto do post »