zsh: Prompt colorido dinamicamente

Publicado por Sandro Marcell em 28/09/2010

[ Hits: 10.271 ]

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

sed - Removendo caracteres acentuados

Vim: Autocompletar com TAB

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

Bash: Gráficos estatísticos de tráfego de rede

Adicionando Extensões em Arquivos

Leitura recomendada

Instalação do Typora no Fedora

Skype 4.2 no Debian 64 bits

Ícone do atunes não aparece no Menu Inicial no Slackware

Instalando o NTOP 4.1.0 no CentOS 5.7

Convertendo de Microsoft Outlook para Ximian Evolution

  

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