KISS - Keep it simple, stupid!

Vim com cara de TextMate

postado por lucas em 27/02/2009 16:10:43
Tags:

Não quero mais IDEs pesadas. Meu PC não aguenta, ou escuto música ou programo. Estas são reclamações de muitos outros como eu, que tem um computador old school e não aguentam mais salvar o projeto e sair pra tomar um café enquanto o PDT não volta e o firefox está todo cinza.

Por isso comecei a utilizar o vim como editor para meus projetos. Após pesquisar bastante aprendi alguns macetes e plugins que me ajudaram a deixá-lo mais a cara de um editor funcional, como é o TextMate. Aí vão elas:

Eu recomendo fortemente o trabalho com utf-8 ao invés da iso8859-1 portanto, a primeia ação que deve ser tomada, é configurar o terminal para funcionar em utf-8. Caso tenha algumas dúvidas de codificação, como o que ocorreu na lista de discussão do cakephp estes dias, este link pode esclarecê-las.

Para realizar esta configuração, no linux basta você setar a variável LANG no arquivo /etc/profile.d/lang.sh, ficando:

export LANG=pt_BR.UTF-8

Já no windows basta inserir o comando abaixo no arquivo .vimrc*:

set enc=utf-8

Outra configuração que ajuda muito no trabalho em equipe é ter as identações feitas com espaços e não com tabs, para que diferentes editores não interpretem as tabulações diferentes e não acontecer de o git toda vez que alguém diferente abre o arquivo ache que o arquivo inteiro mudou. Para resolver este problema tanto no Windows quanto no Linux, basta inserir as seguintes linhas no arquivo .vimrc:

set expandtab
set tabstop=4
set smarttab
set shiftwidth=4

Explicando:

  • Expandtab: altera as tabulações para espaços;
  • Tabstop: Tabulações passam a ter 4 espaços;
  • Smarttab: Utiliza a tabulação inteligente. Para inicio de ifs e outros comandos;
  • Shiftwidth: Conserta a tabulação inteligente para 4 espaços.

Algo que também considero essencial é exibir o numero das linhas. Para encontrar erros, testes que falharam e etc.É impossível trabalhar sem. Para isso, mais uma vez no .vimrc:

set number

Os próximos passos envolvem a utilização de plugins que tornam a vida muito mais fácil. O primeiro deles é o NERDTree que transforma um pedaço do vim em uma árvore de diretórios que pode ser acessada com o mouse, ou com o teclado. Na sua pagina tem uma explicação de instalação e de manipulação.

Para tornar a sua utilização mais simples, criei alguns maps do vim que funcionam da seguinte maneira:

inserindo o código

map <C-Left> :tabprevious<cr>
map <C-Right> :tabnext<cr>
map <C-N>t :NERDTree<cr>

novamente no .vimrc, você conseguirá abrir o NERDTree apenas apertando as teclas Ctrl^N + T e trocar de abas apertando Crtl^seta pra direita ou Crtl^seta pra esquerda.

Outro plugin interessante é o snippetsEmu. que faz com que o vim tenha bundles parecidos com o TextMate. Também com tutorial de instalação, ele permite que se crie pedaços de código apenas com algumas letras e digitando a tecla TAB. Após a instalação, digite for e depois sucessivamente tecla TAB. Mágico não é?

Com estes passos, criando trechos de código com os snippetsEmu, e o autocomplete(Crtl^P) nativo do vim, a sua produtividade vai ser muito maior do que a daquele tempo de espera pro eclipse validar todos arquivos logo após algumas ações.

Comecei a construir alguns snippets do cakephp para o vim. Mas isso fica para um próximo post.

Para quem não quer ficar copiando e colando cada trecho de código, o meu arquivo .vimrc encontra-se neste link.

* – O arquivo .vimrc fica na pasta de instalação do vim no windows e deve ficar na sua home no linux. Se este arquivo não existir basta apenas criá-lo

Tags:
Topo

3 Comentários

Creative Commons License
Sou Ágil: KISS em http://kiss.souagil.com.br está licenciado sobre
Creative Commons Attribution-Share Alike 2.5 Brazil License.

souÁgil