zsh: Prompt colorido dinamicamente

Publicado por Sandro Marcell em 28/09/2010

[ Hits: 10.238 ]

Blog: http://sanmarcell.wordpress.com

 


zsh: Prompt colorido dinamicamente



No zsh existe uma função built-in chamada 'precmd' que sempre executa uma ação antes de exibir o prompt para o usuário, e uma forma de uso bem interessante para ela é a seguinte:

function precmd {
   PROMPT=$(print -Pn "%n > [%~] :" | perl -e 'print("%{\e[" => int(rand(7)) + 31 => ";1m%}" => $i) while (read(STDIN, $i, 1)); print("%{\e[0m%} ");')
}

Desta forma a precmd altera dinamicamente o conteúdo da variável PROMPT imprimindo na tela cada caractere com cores diferentes conforme a figura a seguir:
Linux: zsh: Prompt colorido dinamicamente
Para usá-la, basta adicionar a função em seu '.zshrc' e pronto!

Mais informações?

man zsh
$ man perl


Falou!

PS.: Acabei encontrando na net uma versão que usa somente comandos do próprio do zsh:

function precmd {
   eval toresbe="${(j:%%\{\\e\[1\;$(((RANDOM % 7) + 31))m%%\}:)${(s::)$(print -P 'X%n@%m:%~')}}%%#"
   PROMPT="$(print -P ${toresbe#?} %%{\\e\[0m%%})"
}

E que faz exatamente a mesma coisa que a primeira! =]

Outras dicas deste autor

Squid - Limitando números de conexões simultâneas

Balanceando consultas de DNS no /etc/resolv.conf

Adicionando Extensões em Arquivos

jQuery + PHP = Monitor de status

PostgreSQL - Bancos com diferentes encodings

Leitura recomendada

Instalando o Skype no Mandriva One e superior

Nagios 3 - Habilitando comandos externos

Dose dupla da Ximian: Ximian Desktop 2 e Evolution 1.4

Firefox em modo offline?

Megasync não abre ou desaparece [Resolvido]

  

Comentários
[1] Comentário enviado por albfneto em 28/09/2010 - 15:47h

ZSH é massa, eu uso também...

[2] Comentário enviado por /bin/laden em 29/09/2010 - 08:37h

Realmente o zsh é fantástico, possui características incríveis.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts