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:
1 | gvim |
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:
1 | tecla esc + :w |
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
1 | tecla esc + :Rserver |
Vendo preview no navegador
1 | tecla esc + :Rpreview |
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:
1 | tecla esc + ctrl + f |
Digite o nome do arquivo desejado, por exemplo new:
A outra forma de navegação é em diretórios, digite:
1 | tecla esc + :Vex |
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:
1 | vp + tecla tab |
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:
- http://www.akitaonrails.com/2009/01/03/rails-on-vim tem um vídeo bem legal, você pode ver a coisa funcionando na prática;
- http://eustaquiorangel.com/blog/show/339 outros comandos usando o plugin rails.vim;
- http://rails.vim.tpope.net/ site oficial do rails.vim;
- http://code.google.com/p/vimbook/downloads/list livro grátis sobre o vim.
Se você gostou desse texto e acha que ajudou você, me recomende:
.
















