Uma árvore de configurações Vim poderosa, multiplataforma e totalmente auto-contida

Esta postagem também está disponível em: Inglês

UPDATE (2013-03-11): Após muitos meses de uso e adaptação contínuos, a árvore de configurações mudou consideravelmente.

Acho que todo mundo já sabe que eu sou um fã e usuário hardcore do Vim. Eu uso o Vim para programar, para escrever conteúdo técnico e não-técnico (com LaTeX), e – também – só por diversão (no meu conceito hacker de diversão :D). Eu já tinha tentado usar o Vim “de verdade” por várias vezes, mas somente nos últimos meses tenho me concentrado em extrair o máximo possível do Vim e utilizá-lo todo dia, o dia inteiro, para tudo que eu puder.

Durante esse tempo, eu sabia que mexeria muito com todo tipo de configuração e plugins, e portanto quis tornar a customização do Vim bastante simples. Eu também gostaria de usar a “minha” configuração do Vim em qualquer computador em que eu estivesse trabalhando, então eu precisei deixar a “árvore” de configuração o mais multiplataforma e auto-contida possível. Idealmente, eu só teria que carregar um pendrive contendo o diretório “vim-cfg” e poderia me sentir em casa em qualquer computador Linux, Windows ou Mac em que estivesse trabalhando.

Posso dizer que esses objetivos foram QUASE 100% atingidos. Então – pra ficar famoso :P – eu disponibilizei essa árvore de configuração Vim modular e multiplataforma no GitHub. Não vou explicá-la com muitos detalhes, pois o arquivo README.md incluso já ensina bem como instalar e usar o pacote.

Além de ser um framework em que você pode facilmente incluir SUAS próprias personalizações – mantendo modularidade e portabilidade – a minha “árvore” também inclui vários “defaults razoáveis”, os quais são personalizações que achei muito úteis nesses últimos meses de uso intensivo do Vim. O principal critério que usei ao decidir quais personalizações incluir no “pacote” foi o de reduzir o trabalho repetitivo, fazendo com que as ações mais frequentes necessitem do menor número de toques no teclado.. O “caso de uso” que tive em mente ao escolher essas personalizações era o de um programador usando o Vim no seu dia-a-dia :) Aí vão alguns exemplos do que foi incluído:

  • Atalhos de uma tecla para ações frequentes: Navegar pela árvore de diretórios, compilar código-fonte e navegar pela lista de erros de compilação, explorar um arquivo usando tags, redimensionar e navegar entre janelas de edição (splits)…
  • Meta-arquivos centralizados: Mantém arquivos do tipo .swp, xyz~ e outros meta-arquivos do Vim em um diretório centralizado, sem ficar poluindo o diretório de trabalho do usuário.
  • Gerenciamento fácil e organizado de plugins: Usando o NeoBundle.
  • Combina o comando “make” interno do Vim com builds paralelos: Como eu já descrevi em um post anterior.
  • Gerenciamento e geração facilitados de tags: Tags para navegação de código-fonte são geradas, regeradas sob demanda e automaticamente gerenciadas em uma localização centralizada pelo vim-easytags.

Agora vá em frente e experimente usar essa árvore de configuração! É muito fácil voltar atrás caso você não goste, basta apagar o diretório (tudo está auto-contido). Clone o repositório e siga as instruções no arquivo README.md. Por fim, eu quero deixar registrado meu agradecimento sincero a todos os desenvolvedores dos plugins que estou usando. Eles estão tornando a minha vida mais simples! Usando todos esses plugins pra facilitar meu dia-a-dia de programação com o Vim, me sinto “apoiado nos ombros de gigantes” :)

This entry was posted in Linux, Tech and tagged , , , , , . Bookmark the permalink.

One Response to Uma árvore de configurações Vim poderosa, multiplataforma e totalmente auto-contida

  1. Pingback: Modular XPlatform Vim Config – With LASERS! | Experimento imaginário

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">