« Desenvolvimento remoto e opensource | Home | Gravar imagem iso no mac os »
May 18, 2010
Em busca do Shell perfeito

Image by cobalt123 via Flickr
O shell iterativo padrão das distros e dos unix em geral é muito cru, as unicas boas excessões que eu lembrom era o zsh do GoboLinux e o bash do archlinux. Mesmo assim elas eram mais ou menos o que os principais desenvolvedores das distros gostavam e não o que eu queria :). Depois de alguns test-drives puramente subjetivos eu escolhi o zsh como padrão pessoal. No fundo no fundo o que eu quero não existe mas o zsh é o que se mostrou mais proximo do que eu queria e também pareceu o mais facil de configurar no que eu queria.
Ok, zsh é o meu padrão, cool, e agora, o que eu quero exatamente?
Primeiro um prompt legal, que mostre onde eu estou, e se eu estiver usando git mostre o branch, e eventualmente outra informação. Nesse sentido eu copiei e colei de varios "ponto zsh" que eu vi por ai e cheguei nessa coisa joiada e melosa:
Ela mostra meu usuario, o host, o diretorio atual, o resultado do ultimo comando, e o git branch que eu estou atualmente. Tem mais coisas que eu gostaria de adicionar mas por hora isso está ok.
Depois eu realmente uso muito cd, e também digito um bocado e evito atalhos mneumonicos, como colocar na variavel $work um diretorio ou arquivo aleatorio. Isso porque eu uso muito o history e gosto dele bem claro. No caso cd ~/Code/zsh_config é muito mais claro que cd $zsh_work ou etc.
Nesse sentido eu uso uma variavel chamada cdpath. ela basicamente contem alguns diretorios para a busca padrão do cd, assim com:
cdpath=~/Code
Sempre que eu digitar cd<tab>, o meu amado diretorio de codigos fontes estarão la.
Isso na verdade é só o começo, ainda na todo list tenho preprocessamento e postprocessamento do comando. Gostaria que quando eu digitasse cd Module::Build ele caisse no diretorio do modulo perl correspondente. E que o resultado de alguns comandos especificos fossem parseados diretamente. Como em:
>comando bla:
foo bar bla bla
Fosse traduzido como 'comando2 foo bla'. Eventualmente talvez já exista algo pronto mas eu não descobri como fazer ainda. Antes que alguem fale do xargs, ele não é exatamente o que eu quero, pos eu gostaria que fosse magico, sem precisar explicitar o comando xargs.>comando2 $1 $3
No TrackBacks
TrackBack URL: http://fred.eti.br/engine/mt-tb.cgi/489
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=965f5d8d-ae10-4d1c-a440-a53981545bc4)
Leave a comment