Cores do iTerm para Prompt, Comando e Saída

23

No momento, meu iTerm2 se parece com isso ...

insira a descrição da imagem aqui

Tudo tem a mesma cor e é difícil de ler. Posso criar cores diferentes de Prompt, Comando e Saída como esta?

insira a descrição da imagem aqui

jeremyjjbrown
fonte

Respostas:

16

Há uma descrição bastante exaustiva da edição do prompt do bash, aqui pode haver algumas coisas específicas do linux, mas a maioria é genérica.

Mas apenas para começar, eu recomendo este gerador de perfil bash

É bem simples, então aprendi mais e meu prompt se parece com: prompt do bash do dwightk

usando:

[[ -s "/Users/dwightk/.rvm/scripts/rvm" ]] && source "/Users/dwightk/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
export PS1="🍔  \[\033[01;35m\]\u@\h:\[\033[01;34m\]\$(parse_git_branch) \[\033[01;32m\]\w \[\033[01;34m\]\n>\[\e[0m\]"

o que é bastante útil ao lidar com o git. Tudo antes do export PS1=é o que permite que o ramo git apareça.

O 🍔 é da minha primeira incursão na edição de prompt do bash depois que li este post do blog.

dwightk
fonte
Espero que alguém com uma melhor compreensão da edição real do prompt possa postar uma resposta mais convincente.
dwightk
🍔 <- Esse char é intencionado?
jeremyjjbrown
sim, é uma sobra da minha primeira expedição para a edição rápida do bash após a leitura: notes.torrez.org/2013/04/put-a-burger-in-your-shell.html Gostei, então fiquei por aqui.
dwightk
11
Essa função git é muito boa. Salvará alguns ramos git -a cmd's.
jeremyjjbrown
11
saída git colorida também é legal. thomashunter.name/blog/…
jeremyjjbrown 28/03
9

AFAIK, não há nenhuma maneira do UNIXy de colorir nada além do prompt.

Mas, como você pediu uma solução iTerm2, você está com sorte! Use o recurso Triggers para colorir regexp de correspondência de texto.

Por exemplo, se os seus prompts forem assim:

..em seguida, adicione o iTerm -> Preferências -> Perfis -> Avançado -> Acionadores, [Editar] um Acionador como este:

..que corresponderá à parte do comando de cada linha, que começará assim:

Voilà - você tem cores diferentes para prompt, comando e saída! :)

Greg Dubicki
fonte
Isso é mais simples para a maioria das pessoas que eu aposto tão votadas. Mas como o outro funcionará em qualquer termo, mesmo remotamente e também colorirá o prompt do git, vou mantê-lo como a resposta aceita.
jeremyjjbrown 8/09/16
Qual fonte você usa?
towry 25/09/16
@towry: Consolas
Greg Dubicki
Você poderia facilmente colocar algo como \e[95mno final do seu PS1 var e isso faria isso
Samy Bencherif
Obrigado @SamyBencherif, mas isso também colorirá a saída com a mesma cor do comando, que não foi o que o OP pediu.
Greg Dubicki 27/03
1

A solução iTerm funciona, mas parece haver um pequeno atraso na coloração. Se alguém parar de digitar por um segundo, a linha inteira será colorida conforme o esperado.

George Smith
fonte