Como todas as pessoas que procuram desenvolver com qualidade e agilidade, eu tive a minha saga até encontrar uma boa ferramenta de edição de código.
Eu só trabalho usando Linux, com certeza ele é o sistema operacional mais produtivo para trabalhar com desenvolvimento em tecnologias livres, para programar em PHP, Ruby on Rails, Java, Python e outras é uma maravilha. A quantidade de softwares e coisas legais é imensa.
Nessa minha saga e evolução no mundo dos editores/IDE já usei Dreamweaver, Gedit, Geany, Eclipse, Aptana, Komodo, Bluefish e por último o NetBeans. Sempre tinha alguns detalhes neles que acabava me irritando, algo que eles não conseguiam fazer. Alguns tinham tantos recursos que acabavam sendo pesados demais. Por último eu estava usando o NetBeans, ele tem umas sacadas legais e algumas coisas divertidas, mas é absurdamente pesado, outro detalhe é que algumas IDE’s tem a mania descontrolada de querer fazer tudo através de interface gráfica, trilhões de janelas para fazer coisas super simples, o terminal é um lance necessário em uma IDE, muitas coisas podem ser feitas em secundos através de um shell. Não a nada de errado em usar o shell, graças a ele que a produtividade aumenta muito, quem acha que interface gráfica aumenta a produtividade está enganado, as vezes ela só enrola mais as coisas.
Através de toda essa saga acima eu acabei chegando no VIM, usando especificamente o Gvim no Gnome para desenvolver em Ruby on Rails. Até o presente momento só são ótimas opiniões formadas sobre ele.
Nesse post vou mostrar como ganhar mais produtividade usando o Gvim.
Todos os passos abaixo foram feitos no Ubuntu 8.04, por que no Ubuntu? Porque ele é simples, tem uma porção de distribuições Linux por ae que complicam demais as coisas, o Ubuntu é sucesso porque é simples de usar. Existe uma grande chance de coisas simples fazerem mais sucesso que as coisas complicadas. :-)
Instalação do Gvim
1
| sudo apt-get install vim vim-gnome vim-addon-manager vim-common vim-full vim-gtk vim-gui-common vim-rails vim-ruby vim-runtime vim-tiny exuberant-ctags ncurses-term |
Instalação do Git
1
| sudo apt-get install git |
Instalação da gem para busca de arquivos
Essa gem está no github, desta forma é necessário adicionar o seu repositório: gem sources -a http://gems.github.com
1
| sudo gem install jamis-fuzzy_file_finder |
Instalação do pacote de configurações para o vim
Agora vamos instalar um pacote de configurações prontas para o vim, esse pacote foi criado pelo Fabio Akita, esse pacote já tem uma série de plugins, temas e snippets.
1
| git clone git://github.com/akitaonrails/vimfiles.git ~/.vim |
Você precisa criar o arquivo ~/.vimrc e adicionar o conteúdo abaixo:
1
2
3
4
5
6
7
| source ~/.vim/vimrc
colorscheme vibrantink
set nu
set sts=2
set sw=2
let g:fuzzy_ignore = "gems/*" |
Essas configurações irão fazer o número de linhas aparecer, ignorar os diretórios de gems e outros ajustes.
Os snippets estão em um repositório separado, desta forma precisamos obter esses arquivos, faça os passos abaixo:
1
2
3
| cd ~/.vim
git submodule init
git submodule update |
Existe um outro ajuste que pode ser feito, mas esse é opcional, da forma como está agora sempre irá aparecer um $ no final de cada linha, para marcar o fim, particularmente eu não gosto disso. Se você quiser é possível retirar essa marcação, edite o arquivo ~/.vim/vimrc procure pelas linhas:
1
2
| "display tabs and trailing spaces
set list |
E deixe a configuração set list comentada, desta forma:
1
2
| "display tabs and trailing spaces
"set list |
Feito isso nós já temos uma nova gama de funcionalidades adicionadas ao vim, mas é possível melhorar mais ainda, vamos agora instalar a fonte Monaco usada no TextMate. Essa fonte deixa o código com um visual legal.
Instalação da fonte Monaco
1
2
3
4
5
6
7
8
| cd /usr/share/fonts/truetype
sudo mkdir myfonts
cd myfonts
sudo wget http://www.gringod.com/wp-upload/software/Fonts/Monaco_Linux.ttf
sudo chown root.root *.ttf
sudo mkfontdir
cd ..
fc-cache |
Agora se você digitar no terminal:
Vai ver o gvim com a fonte Monaco e o tema desert.

Com o gvim aberto vamos criar um projeto em Ruby on Rails, e ver as funcionalidades novas que temos no vim. Graças ao plugin rails.vim (http://rails.vim.tpope.net/) foram adicionadas uma série de features.
Criando um projeto Ruby on Rails
Digite no gvim:
1
| tecla esc + :Rails autocomplete |
Onde autocomplete é o nome da minha aplicação Ruby on Rails nesse exemplo.
A opção irá criar a aplicação com suporte ao banco de dados SQLite, se você quiser suporte ao outro banco de dados digite:
1
2
3
4
| tecla esc + :Rails autocomplete -d mysql
ou
tecla esc + :Rails autocomplete -d postgresql
... |
Esse comando irá criar uma aplicação Ruby on Rails nova.

Pressione a tecla enter como informado na mensagem.
O plugin rails.vim é bem esperto, ele já vai abrir para você o database.yml para você configurar o banco de dados:

Pressione a tecla i ou insert para editar os dados, faça as alterações necessárias e salve digitando:
Uma breve descrição sobre as operações básicas do vim:
- tecla esc + :w serve para salvar sua alteração (write)
- tecla esc + :q serve para fechar o arquivo (quit)
- tecla esc + :x serve para salvar e fechar o arquivo
Criando o banco de dados
1
| tecla esc + :Rake db:create |

Pressione a tecla enter como informado na mensagem.
Criado um scaffold
1
| tecla esc + :Rgenerate scaffold car name:string description:text color:string |
Será gerado o scaffold para o model car, logo em seguida será exibido o cars_controller.rb:

Rodando as migrações
1
| tecla esc + :Rake db:migrate |

Visualizando a aplicação
Caso você queira visualizar aplicação nesse momento, você pode inicializar o servidor e ver um preview da aplicação rodando no navegador:
Inicializando o servidor

Vendo preview no navegador

Nesse momento o gvim ficará travado e o navegador será aberto para você visualizar o andamento do projeto, quando você fechar o navegador o gvim será destravado.

Navegação de arquivos
Eu conheço duas formas de navegação de arquivos, a primeira é muito rápida:

Digite o nome do arquivo desejado, por exemplo new:

A outra forma de navegação é em diretórios, digite:

Snippets
Esse pacote que instalamos para o vim, tem muitos snippets já configurados para acelerar a condificação, eles podem ser encontrados no diretório ~/.vim/snippets:

Se você olhar nesses diretórios vai poder descobrir as siglas para acessar o snippets, dê uma boa olhada e teste.

Vamos testar um pouco os snippets, agora que você já sabe procurar arquivos, abra o arquivo car.rb:
1
2
3
| tecla esc + ctrl + f
digite car.rb
enter |

Digite i ou insert para colocar o gvim em modo de edição e digite:


Agora e só apertar tab e ir substituindo os valores.
Caso o snippet não funcione, feche o gvim, acesse o diretório da aplicação Ruby on Rails (autocomplete), estando dentro do diretório autocomplete abra o gvim, agora os snippets tem que funcionar.
A ideia desse post é apenas dar um visão geral, existe várias outras coisas possíveis de fazer, e muitos outros comandos poderosos para trabalhar com Ruby on Rails no vim, por isso eu sugiro que você leia esses outros artigos:
Se você gostou desse texto e acha que ajudou você, me recomende:
.