ter
mar 16th

Melhorando o prompt do bash para RVM ...

Esses dias configurei meus sistemas operacionais para usar RVM que serve para gerenciar diferentes instalações do Ruby na mesma máquina.

Para instalar no Snow Leopard segui o tutorial do Akita “Limpando meu Ambiente de Desenvolvimento” e para instalar no Ubuntu segui o post do Barenko “Preparando o Ubuntu para múltiplos ambientes Ruby utilizando RVM” que é mais ou menos uma “tradução” do post do Akita para Ubuntu. Deixei tudo igual com exceção da linha onde tem “/var/lib/gems/1.8/bin/rvm-install” que alterei para

~/rvm-install

Porém como eu uso Git uma coisa que estava me incomodando é que o prompt do Bash em ambos SO não estavam adequados para mostrar a versão da RVM e o branch atual do Git ao mesmo tempo, então fiz algumas e alterações e encontrei algumas “frescuras a mais” para personalizar o prompt.
Substitua a linha que começa com “expost PS1=’….” no arquivo ~/.bashrc (Ubuntu) ou ~/.bash_profile (MacOS) para:

sudo gedit ~/.bashrc
export PS1='\[\033[38m\]\u\[\033[32m\] \w \[\033[1;33m\]`~/.rvm/bin/rvm-prompt i v
`\[\033[0;31m\] `git branch 2> /dev/null | grep -e ^* | sed -E s/^\\\\\*\ \(.+\)$/\(\\\\\1\)\ /
`\[\033[37m\]$\[\033[00m\] '

Com isto o prompt ficará assim

seu_usuario ~/projetos/blog ruby-ree  ( working ) $

Segue uma tabela com as cores existentes, se você quiser deixar a fonte em negrito use 1; ao invés de 0;

"\033[0;32m"
"\033[1;32m"

Cores
corPadrao=”\033[0m”
preto=”\033[0;30m”
vermelho=”\033[0;31m”
verde=”\033[0;32m”
marrom=”\033[0;33m”
azul=”\033[0;34m”
purple=”\033[0;35m”
cyan=”\033[0;36m”
cinzaClaro=”\033[0;37m”
amarelo=”\033[0;33m”
branco=”\033[1;37m”

Aproveitando que este post é sobre RVM, se alguém tiver dificuldades em rodar o script/console dentro de algum ambiente de RVM dá uma olhada neste post que tem uma solução para este problema.

Referências:
Limpando meu Ambiente de Desenvolvimento
Preparando o Ubuntu para múltiplos ambientes ruby utilizando RVM
http://ubuntuforums.org/archive/index.php/t-31247.html
http://www.vivaolinux.com.br/dica/Shell-script-com-texto-colorido