Mac OSX Terminal cores diferentes

0

Existe uma maneira de a linha de comando e a saída estarem em cores diferentes? Por exemplo, eu tenho jogado com o valor PS1, então meu prompt está em vermelho, mas eu gostaria de ter a linha de comando em verde e a saída em branco (ex: se eu digitar "ls", que está em verde, e então a lista de arquivos está em branco).

    
por punkkat 27.06.2012 / 19:59

3 respostas

3

No final do seu PS1, tenha uma sequência de escape configurando a cor da sua entrada. Por exemplo,

PS1="\h \w$ \e[0;32m"

(tudo o que importa é a parte \e[0;32m no final (que pode ser de qualquer cor), o resto depende de você)

Para definir a cor de saída de forma diferente, você precisa "interceptar" o sinal "DEBUG" e chamar alguma função. Aqui está o que eu tenho

debug()
{
  echo -n $'\e[0m';
}
trap debug DEBUG

Não é complicado, apenas garante que sempre que você digitar um comando (que causa o sinal DEBUG), a função debug é chamada.

Portanto, copie essas linhas para o seu .bash_profile ou .bashrc ou para o que estiver usando e altere o '\ e [0m' para qualquer cor que desejar.

    
por 05.06.2013 / 17:37
1

Você precisa que o shell, ou um programa, emita a seqüência de escape apropriada para alterar as cores depois de pressionar enter.

O shell bash usado pelo OS X atual não tem uma facilidade óbvia para fazer isso.

    
por 27.06.2012 / 20:10
0

Você pode ligar outra chave para enviar a seqüência de escape e um retorno.

  1. Nas preferências do Terminal, clique no painel Configurações e, em seguida, na guia Teclado.
  2. Clique no botão de adição.
  3. Escolha um modificador e chave. Configure a ação para send string to shell e a string para 3[m5 . Clique em OK.

Você terá que se acostumar a usar esse atalho de teclado em vez de retornar … embora provavelmente haja um aplicativo que permitirá que o sistema trate retornar no Terminal dessa forma atalho alternativo.

    
por 09.07.2012 / 00:53