vim and tux

Por que eu uso o Vim para programar.

Já experimentei várias IDEs de programação e ainda uso algumas, entre editores de textos variados.

Se alguém me perguntar qual editor uso para escrever código, a resposta é “Muitos!”.

Mas um deles sempre me cativou mais e é a quem sempre recorro quando vou dar continuidade a algum trabalho, dar alguns retoques em algum pedaço de código e editar arquivos de configuração do sistema.

O nome dele é Vim (ou Vi) e, embora não seja a única (como já disse), é a minha principal opção de editor de código.

Recentemente topei com o post do Casper Beyer, em que ele explica por que também prefere usar o Vim para programar.

Me senti tipo… “Poxa! Não sou o único maluco do pedaço”. 😉 Faço minhas as palavras do Casper:

A principal razão para usar o Vim é o costume — e não por que não sei sair dele.

A filosofia por trás da construção do Vim, não é apenas a leveza. Tanto isto é verdade, que as estatísticas vão mostrar que o Nano, muitas vezes, bate o Vim, neste quesito.

A ideia do Vim é oferecer uma experiência de agilidade para desenvolvedores — oferecendo uma gama de comandos que podem ser dados sem a necessidade de afastar as mãos do centro do teclado.

gvim text editor screen capture

Desde que comecei a usar o Linux, me acostumei a abrir pequenos arquivos de código ou de configurações do sistema dentro dele, em vez de ficar a esperar “séculos” que o editor GUI (interface gráfica) aparecesse na tela.

Na CLI, ele é leve, pequeno e está bem longe de ser um programa ruim. Pelo contrário, podemos usar extensões e plugins para aumentar as suas funcionalidades.

gvim text editor screen capture

Saber usar bem este programa, vai também ajudar quando você tiver que se conectar a algum servidor remoto via SSH — onde é possível que o vi (irmão mais velho do Vim) e o Nano sejam as únicas opções de editores disponíveis.

Quem usa computadores com restrição de recursos, vai entender bem melhor alguns dos argumentos, aqui.

A possibilidade de aumentar as funcionalidades, através de extensões e a velocidade com que o editor trabalha são as razões mais importantes, pra mim.

O visual é uma questão de gosto pessoal. E eu gosto do “visu” espartano dele.

vim text editor screen capture
O Gvim é uma versão GUI do editor.

Em seu artigo, Beyer propõe um teste. Carregar um arquivo com o seguinte código (em linguagem C), em vários editores, para comparar desempenhos:

#include 

int main() {
  printf("Hello, world!\n");
}

Eu obtive os seguintes números, relativos ao tempo total de carregamento e finalização do aplicativo, em segundos:

  1. Nano: 0,45s
  2. Vim: 0,47s
  3. Komodo Editor: 8,257s

Como você pode observar, o Nano consegue ser ainda mais rápido do que o Vim.

E a diferença entre o tempo de abertura destes dois para o do Komodo Editor, é brutal.

Consumo de memória do Vim

E o consumo de memória?

O código, acima, ocupa 66 bytes no disco do meu sistema. Veja os valores atingidos com o uso de cada editor:


ps aux | grep "hello.c"

justinc+ 16719 11.7  3.0 958240 242980 pts/1   Sl   16:32   0:09 /opt/Komodo-Edit-11/bin/komodo hello.c
justinc+ 16720  0.1  0.0  33140  7112 pts/1    T    16:32   0:00 vim hello.c
justinc+ 16721  0.0  0.0  15060  2640 pts/1    T    16:32   0:00 nano hello.c

O resultado exibe o consumo de memória na 4a coluna, da esquerda para a direita.

Assim, temos um consumo de 3.0 MB para o komodo, enquanto o Nano e o Vim nem “mexem os ponteiros”.

O ps não é perfeito para medir o consumo de memória de aplicativos mas o objetivo, aqui, é só estabelecer uma comparação.

Veja os resultados obtidos com o pmap:


pmap -x 16866 16969 16970 | grep total

total kB          973988  237952  155584
total kB           41932    7792    2892
total kB           23952    3736     960

Pela ordem, acima, temos os números (em KB), na segunda coluna, referentes ao Komodo, ao Vim e ao Nano.

Este último é o preferido de muita gente, em termos de editores em CLI, além de estar presente em quase todas as distribuições GNU/Linux.

Estes números só reforçam o quanto é ridículo usar um editor com um consumo de memória tão massivo.

Conclusão

Além do Komodo, como editor para GUI do Linux, uso também o Atom e o Netbeans (IDE).
Acho-os incríveis e vou continuar a tê-los instalados no meu sistema, para quando eu lembrar de usá-los.

O preferido, contudo, continua a ser o Vim.
A lógica pela qual o programa foi construído é fantástica: dar o máximo de produtividade para o desenvolvedor. Todas as funções que se precisa, devem estar ao alcance dos dedos.

Ele dispensa você da necessidade de tirar a mão de cima do teclado, para pegar no mouse — embora tenha completo suporte ao dispositivo tanto na edição para GUI quanto para a CLI.

Você pode levar algum tempo para conhecer e memorizar os comandos e as teclas de atalho do Vim — da mesma forma como vai levar algum tempo para dominar qualquer outro editor.
A diferença é que, com o Vim, você será premiado com mais eficiência e produtividade no final.

Comente sobre o que você acha deste editor.
Prefere mais agilidade e velocidade para editar ou prefere a comodidade de uma grande IDE?

Leia outros artigos sobre o Vim.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

2 comentários em “Por que eu uso o Vim para programar.”

  1. Todo programador deve acabar precisando vez e outra um editor em cada ambiente, o Vim é o que chega mais perto de funcionar em todas as plataformas e muito bem.

    Eu uso também o Sublime Text 3 com alguns plugins, e isso que acho importante num editor de código possibilidade de plugins pra poder criamos um mundo maior de possibilidades.

    Além disso, gostaria de deixar a dica do Vim Bootstrap (http://vim-bootstrap.com/) que ajuda muito quem é programador ou usa muito o Vim pra tudo, ele permite criar um .vimrc com tudo que você precisa para o que seleciona no builder do site, facilita muito configurar o Vim.

    http://vim-bootstrap.com/

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.