Vimperator, comportamento do Vim no Firefox

De um tempo para cá tenho tentando chutar o mouse longe e usar só o teclado, na medida do possível. Culpa do Enygmata, que me mostrou o awesome, um gerenciador de janelas supimpa (que me pareceu 10x melhores que o ion-3), e o vimperator, que adiciona as funcionalidades do Vim no Firefox.O pior é que estou conseguindo!

Parece radical, mas a produtividade aumenta, de certo modo. Não só na hora de programar e testar, sempre que edito arquivos no Vim, tento não usar o mouse. Claro que sempre vai ter alguma aplicação que vai te obrigar a usar o mouse, mas se pudermos evitar, melhor!

Graças ao maldito do Enygmata, agora acham que sou retardado. Que estou surtando, querendo usar Vim para tudo! Que não tenho mais nada pra fazer, fico inventando moda. Mas enfim, prefiro terminar minhas coisas rapidinho e tomar meu café vendo os outros perdendo tempo clicando e passando mais trabalho porque não tem mais de 1 clipboard para copiar e colar códigos…

Leia o resto do post »

Lançada versão beta do .vimrc generator

Olá! Eu estava pensando em usar o feriado pra aprender pyGTK, com um projeto que estou na cabeça. Mas, sexta-feira me surgiu outra idéia, que tocou mais forte.

Muita gente me perguntava o que eu punha no meu .vimrc, quais configurações e o que elas faziam. Então, pra ajudar o pessoal e também manter uma documentação (porque eu esqueço rápido essas coisas), eu criei o .vimrc generator.

A idéia é que se possa criar um .vimrc através da interface web, facilitando a propagação (caso você queira mostrar pro amigo, contribuínte ou seja lá quem for) do seu .vimrc! Vocês podem ler um pouco mais aqui. Também tenho plano de fazer estatísticas, como por exemplo: quais opções mais usadas, quais colorschemes mais utilizados, etc. Portanto, sinta-se a vontade de testar a ferramenta e dar um feedback!

Sugestões de opções interessantes, de coisas faltando, reclamações, são todas bem-vindas! Pode ter certeza que, se implementada, manterei os créditos da sua idéia. Por enquanto só está disponível em inglês, mas logo traduzirei pro português. Quem sabe feriado que vem? hehehe

Espero que aproveitem! Gere seu próprio .vimrc

Até!

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...