Porque usar vim

Existem muitos editores de código por aí. Muitos mesmo. Vim, no entanto, é um editor diferente. Muitas pessoas acham loucura usar vim para programar, assim como eu mesmo, no passado. Quem raios quer fazer as coisas diferentes do jeito que já se está acostumado a fazer? Outra pergunta: Será que vale a pena aprender coisas muito diferentes do que já se está acostumado? Essa segunda pergunta é decorrente da primeira, e talvez (provavelmente) você tenha se contradito ao responde-las mentalmente.

O fato é que vim é muito diferente dos editores de um editor de código padrão. E essa diferença faz com que muito do que tu saibas sobre outros editores de código não possa ser aproveitado. Porém, com o passar do tempo, você vai começar a achar Vim muito mais produtivo. Se você passou pela transição Windows-Linux, você sabe exatamente onde eu quero chegar. Caso não acredite nisso, peço que pense na seguinte pergunta: Porque tanta gente usa o vim para programar?

Logo do vim

Que a força esteja com você.

O primeiro contato com o vim já é traumatizante para muitos: Um editor que nem abre em uma janela, sendo chamado do terminal. Bom, como muita gente sabe, existe uma versão gráfica do vim, o gvim. Ele conta com todas as vantagens do vim, e utilizá-lo com ou sem essa interface gráfica não importa muito no fundo. Assim como também existe uma versão do vim estilo “bloco de notas”, do Windows, o evim (easy vim). Porém, utilizando essa última, você vai estar jogando fora um dos melhores programas que existem para editar código.

Se o primeiro contato já é um tanto quanto inusitado, o segundo é mais ainda: Ao tentar digitar algo, o texto não aparece na tela, e ainda pode ser ouvido alguns barulhos, como se o computador estivesse brigando com você. É exatamente essa característica que faz o vim ser tão poderoso: Você não escreve texto, você dá comandos. Como programador, você sabe que a maior parte do tempo não é dedicado a escrita propriamente do programa, e sim a edição do código já escrito. É exatamente nesse ponto que o vim facilita: Lidar com o que já existe. A produtividade alcançada utilizando o vim se dá por essa característica, juntamente com todas as vantagens que um editor de código padrão dá ao escrever um código novo.

Entre as características padrão do vim voltados a programação, temos principalmente:

  • coloração do código para facilitar o desenvolvimento em mais de 200 linguagens (e se não for o suficiente, você pode facilmente criar suas próprias) assim como de alguns erros coumuns como falta de parênteses.
  • folding, que é a capacidade de esconder trechos de código para poder visualizar o programa como um todo mais facilmente, por exemplo, transformar um “if” em apenas uma linha, e expandir esse if quando achar necessário.
  • tabs, que são utilizadas para ler mais de um arquivo com o mesmo vim aberto, exibindo os arquivos abertos em abas
  • framebuffers, que são espécies de tabs primitivas, onde basicamente você não consegue ver os arquivos que estão abertos, apenas circular entre eles.
  • identação automática, que é a capacidade do editor de identar automaticamente a próxima linha
  • Omnicomplete, que é um auto-completar extremamente versátil onde você pode montar sua lista de funções a serem completadas. Esse talvez seja o mais complexo de se explicar, mas com ajuda do programa ctags e alguns comandos, você terá as funções que quiser na lista para auto-completar, não importando se são do OpenGL, Qt, GTK, ou aquele projeto que ninguém nunca ouviu falar. Além disso, ele completa atributos e métodos de classes padrões ou das que você mesmo implementou, para a maioria das linguagens.
  • Vim com  tabs, omnicompletion, taglist plugin

    Vim com tabs, omnicompletion, taglist plugin

    Só isso? Não! Vim pode ser facilmente expandido através de plugins. Como você imagina, existem milhares deles. Alguns muito poderosos, por exemplo, os snippets do textMate são imitados pelo plugin snippetsEMU. Como é tradição dos softwares livres, ele é altamente customizável, desde coisas macro como uma coluna do lado direito com a contagem de linhas e correção gramatical, até como a procura deve se comportar ou combinações de teclas para fazer ações específicas.

    Em suma, além de ter características únicas que auxiliam na programação, vim ainda conta com muitas características (se não todas) dos editores de códigos mais utilizados. Como se não bastasse, é altamente customizável e cross-plataform. Só para deixar a vontade no ar: Digitando d, você ativa o comando delete. Se for digitado, por exemplo, dw, o comando utilizado é delete word, deletando a palavra onde o cursor se encontra. Se você quiser deletar as próximas 3 palavras, pode utilizar o comando d3w, delete 3 words. Características do modo de comando como esses comandos acima são muito difíceis de explicar em um texto que não seja diretamente um tutorial, e são exatamente deles que vem o poder do vim.

    Se você ficou interessado em aprender a usar o vim e não sabe por onde começar, abra um terminal e digite

    vimtutor

    Um tutorial de vim irá abrir no próprio vim, e você vai aprender a usá-lo utilizando ele mesmo. É uma idéia bastante interessante, e costuma ter ótimos resultados. Eu aprendi a usá-lo assim.

    Fica a promessa: Vou fazer um post no blog sobre os plugins do vim que utilizo.

    Compartilhe:
    • Print
    • Digg
    • Sphinn
    • del.icio.us
    • Facebook
    • Google Bookmarks
    • LinkedIn
    • Identi.ca
    • MyShare
    • Slashdot
    Tags: , , , ,

    One Response to “Porque usar vim”

    1. IT Life » Blog Archive » Tutorial: Configurando o vim para programação Says:

      [...] Não tem porque configurar o vim como editor de código se não sabe usar ele como editor de texto! Motivação não falta. Para começar, sugiro a lógica da bicicleta; você só aprende usando. Felizmente existe um [...]

    Leave a Reply