Editor de Texto: VIM

Atualmente estou usando o VIM como meu editor padrão, o principal motivo e buscar um editor livre, porém tem algumas vantagens interessantes que notei nesse processo e estou compartilhando com vocês.

Primeiro todas as versões de GNU/Linux e possivelmente UNIX sempre possuem alguma versão do VIM ou VI instalado por padrão, então mesmo que você não esteja no seu computador, terá o editor ao qual está acostumado, provavelmente sem os plugins, porém melhor que pegar um editor totalmente diferente.

Não existe a necessidade de um ambiente gráfico para poder utilizar o mesmo, então é possível utilizar ele completamente apenas no terminal, mesmo conectado via SSH não precisa redirecionar o X, o que somado a primeira vantagem torna as coisas muito interessantes pelo menos para mim. As vezes, preciso desenvolver ou testar algo direto no servidor que não tem interface gráfica. Porém existindo a interface ainda podemos utilizar o gVim que adiciona mais algumas facilidades na interface gráfica.

Totalmente extensível por plugins, como ele possui esse recurso e não é um editor novo, provavelmente já existe um syntax highlight para os formatos que você precisa e talvez até funcionalidades para auxiliar em algumas tarefas, basta dar uma pesquisada no site oficial.

É possível adaptar algumas coisas, por exemplo trabalho com linguagens interpretadas como Python e JavaScript, então não tenho erros de compilação. Como existem alguns verificadores de sintaxes (como pep8 para o Python e JSLint para o JavaScript), substitui o comando make dessas linguagens por seus respectivos verificadores, configurei a saída de erros e com uma simples tecla verifico se o meu código apresenta algum erro ou não conformidade com as boas práticas de código integrado na tela do código. Tenho a intenção montar um tutorial sobre isso mais para frente.

Para Python temos o Jedi, o melhor autocompletar que eu já vi para a linguagem, completamente diferente do padrão do Sublime que por exemplo apenas lista palavras já utilizadas, podendo enganar as vezes.

Obviamente o VIM não é amigável logo de cara, muitos tiveram o trauma de reiniciar o computador na primeira vez que abriram ele sem saber como fechar. Porém com o tempo você acaba pegando o costume dos atalhos que mais utiliza e nem se importa com os demais. Utilizando os menus do gVim temos o comando para fazer as tarefas direto no VIM e é possível decorar conforme a frequência de visualização dos mesmos. Também existe o Cream, que torna o VIM mais parecido com os demais editores de texto, vale a pena dar uma olhada, caso esse seja o seu desejo para um editor.

Todo mundo que utiliza o VIM sempre tem o problema de como configurar o .vimrc, porém como ele é totalmente customizável só com o uso você conseguirá deixá-lo da forma que desejar, porém para ajudar os iniciantes temos o Vim Bootstrap, basta selecionar as linguagens que deseja e mandar gerar o .vimrc.

A curva de aprendizagem pode ser grande, porém muitas pessoas conseguiram superá-la e não querem mais largá-lo, vele a pena dar uma estudada, o comando vimtutor pode ensiná-lo. Esse conhecimento pode salvá-lo, principalmente quando tiver que editar algum arquivo dentro de um access-point com Linux.

Anúncios

3 comentários sobre “Editor de Texto: VIM

  1. Olá Eduardo! Muito bom ver você aprendendo VIM. Este é meu editor predileto e de longe o mais poderoso e extensível com o qual já trabalhei. Uma das melhores coisas do VIM é que ele é o editor que você mesmo monta, assim como o Arch é “a distro que você mesmo monta”.

    Algumas dicas:
    1. Utilize um gerenciador de plugins como o Vundle (https://github.com/gmarik/Vundle.vim) ele possibilita a busca, instalação, remoção e atualização de plugins no VIM similar a um apt-get/pacman/yum;
    2. O GVIM dá suporte também ao mouse, tornando a experiência do VIM mais “amigavel” para iniciantes;
    3. Se você estudar o VIM todos os dias da semana durante 3 anos, você ainda não terá aprendido todas as suas funcionalidades. Se quiser um dia posso te apresentar as mais legais :D
    4. Existem alguns plugins essenciais que já deveriam ser distribuídos com o VIM: Surround, UtiSnips, Signature, delimitMate, Synstastic, Rainbow Parenthesis, GitGutter e alguns outros. Sugiro olhar um por um, são todos excelentes. Por exemplo o Syntastic já faz verificação de sintaxe “on the fly”, mesmo para linguagens como Python, encontrando erros como “variável não declarada” e etc, o delimitMate fecha automaticamente os parenteses, chaves, colchetes, aspas simples e duplas, já o GitGutter te mostra o que foi alterado em relação ao último commit do Git.
    5. Tem um plugin chamado YouCompleteMe que se utiliza do Jedi (no modo cliente-servidor) para realziar auto complete de maneira mais performática (dê uma olhada nesse GIF: https://camo.githubusercontent.com/1f3f922431d5363224b20e99467ff28b04e810e2/687474703a2f2f692e696d6775722e636f6d2f304f50346f6f642e676966)
    6. Existem sites que ensinam muito do VIM: http://vimcasts.org/
    7. Existem pessoas que usam VIM e fazem muita coisa impressionante: http://vimeo.com/user1690209/videos
    8. Existem livros gratuitos de VIM:
    http://www.swaroopch.com/notes/vim/
    https://code.google.com/p/vimbook/
    9. Existem cookboks de VIM: http://linux.vsevteme.ru/attachments/show?content=19936
    10. Ache seus VIM-Heroes: http://stevelosh.com/
    11. E seus respectivos .vimrc: https://bitbucket.org/sjl/dotfiles/src/e6f6389e598f33a32e75069d7b3cfafb597a4d82/vim/vimrc?at=default
    12. Publique e documente seu .vimrc, é a melhor forma de aprender: https://github.com/magnunleno/.vim

    Como você já viu, sou meio fanático por VIM. Se precisar de ajuda e dicas é só chamar :D

    Curtir

Comente

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s