Vim e suas gerações
Vim, um editor para todos.
- Vim Man
- Vim Nerd
- Vim Boy
- Vim Woman
- Vim Kid
Engenharia de Software
Faz um tempo que quero escrever algo sobre engenharia de software, pois tenho aprendido muito disso nos últimos 6 meses, principalmente. Na verdade, tudo parte de observações e leituras que fiz por ai. Às vezes elas foram forçadas por professores ou espontâneas a ponto de eu apenas saber.
Inaugarado o blog da F1 Soluções, que não é a empresa na qual trabalho, mas é do mesmo sócio e ainda tenho grande participação no processo de desenvolvimento de software da mesma, eu resolvi postar algumas coisas lá. Fiz, então, meu primeiro post sobre engenharia de software. O post se chama Filosofando sobre Engenharia de Software.
CrÃticas aqui ou lá, lerei os dois comentários. Até mais!
Usando Vim dentro do Eclipse
Pois é, quem nunca mexeu com java que atire a primeira pedra. Trabalhar com java fora de um IDE é realmente muito ruim. Mas deveria eu criar uma IDE em modo texto para o Vim ou ver alguma solução para o meu problema no google?
Eu já sabia da existência, mas nunca tinha visto um motivo para fazê-lo. Trata-se do vim ou gvim dentro do Eclipse. Alguns motivos que me tentaram a usá-lo:
- Compilar é muito mais simples no eclipse.
- Achar arquivos em pacotes é mais fácil com o Project Browser
- Pode-se utilizar outros plugins do Eclipse, como o de modelagem pra Swing, AWT, etc
- Integração com o SVN
Várias Dicas Simples de Legibilidade de Códigos PHP
Faz um tempo que venho observando códigos que considero estranhos. Apesar de entendê-los, são necessários um esforço e um tempinho disponÃvel. Alguns ainda exigem uns debugs ou até mesmo perguntar ao autor qual foi a intenção daquele trecho.
Baseado nisso e no comentário que recebi recentemente e inspirado pelo post de um amigo, vou fazer uma lista de coisas que proponho. São coisas simples, mas que facilitam na manutenção.
Umas das coisas que aprendi com Uncle Bob (Robert C. Martin), no seu livro Clean Code foi: escrevemos o código apenas uma vez, porém o mesmo é lido várias vezes. Então, não custa usarmos 5min a mais documentando alguma coisa ou escrevendo variáveis legÃveis, que nos pouparão tempo mais tarde!
Criando apresentações Power Point pelo Vim
Essa semana eu precisei de uma apresentação Power Point. Abri o Impress, o editor de apresentações do OpenOffice. Comecei meu raciocÃnio sobre a apresentação. Quando me dei conta, estava colocando negrito e identando um parágrafo. Ao reler o parágrafo, havia 3 erros de gramática. Foi a gota d’água: Não consigo criar apresentações, pensei.
Quando eu vou escrever em algum programa de qualquer suÃte de escritório – openoffice, koffice, etc -, eu geralmente me preocupo mais com o negrito da palavra, com identação do parágrafo do que com o conteúdo em si. Isso é um pecado.
Meu primeiro instinto foi: vou escrever tudo no Vim, depois colo no Impress. Boa! Ok, mas e quanto às páginas?
Vou ter que por página por página? Ainda sim eu teria mais trabalho. Eu teria que refazer as listas para que ficassem com as “bolinhas” à esquerda. E teria que modificar todos os tÃtulos para negrito?
SchemaSpy – Ferramenta para Modelagem Literária
No post anterior Vimperator, comportamente do Vim no Firefox eu tinha mensionado que:
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!
Eu continuo com esta idéia. Coisinha bonita é para cliente final. Desenvolvedores devem trabalhar com ferramentas que proporcionam o melhor uso do tempo possÃvel, pois o bom profissional é aquele que esbanja do ócio, eis o fluxo:
- Concluir as atividades rapidamente com eficácia e eficiência está diretamente ligado ao ócio, pois se ele tivesse feito algo mal feito, estaria corrigindo os bugs e não vendo vÃdeos no youtube.
- Com tempo livre, o cérebro humano fica mais descansado e mais propÃcio a receber insights/intuições para resolver problemas difÃceis, que – e estes merecem – precisam de mais tempo e necessitam ser bem planejados.
- Resolvendo problemas de forma criativa – talvez até inovadora -, faz com que se evite problemas futuros. Logo, se poupa tempo. Se poupando tempo, voltamos a cláusula anterior.
Parece utópico, mas eu acredito nisso. Eu acho que é possÃvel. Basta saber onde conseguir ganhar tempo em atividades, automatizando com scripts, programas e etc, o tempo é consequência.
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.
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 =)









