Colori iTerm per Prompt, Command e Output


23

In questo momento il mio iTerm2 assomiglia a questo ...

inserisci qui la descrizione dell'immagine

Tutto ha lo stesso colore ed è difficile da leggere. Posso fare in modo che Prompt, Command e Output abbiano colori diversi come questo?

inserisci qui la descrizione dell'immagine

Risposte:


16

C'è una descrizione piuttosto esaustiva della modifica del prompt di bash qui potrebbe esserci qualcosa di specifico per Linux, ma la maggior parte è roba di bash generica.

Ma solo per iniziare, consiglio questo generatore di profili bash

È piuttosto semplice, quindi da allora ho imparato di più e il mio prompt è simile a: il prompt bash di dwightk

utilizzando:

[[ -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\]"

che è piuttosto utile quando si ha a che fare con git. Tutto ciò che precede export PS1=è ciò che consente al ramo git di apparire.

Il 🍔 è dalla mia prima incursione nella modifica del prompt di bash dopo aver letto questo post sul blog.


Si spera che qualcuno con una migliore comprensione dell'effettiva modifica del prompt possa pubblicare una risposta più convincente.
dwightk,

🍔 <- È inteso quel carattere?
jeremyjjbrown,

sì, è un residuo della mia prima spedizione nella modifica del prompt di bash dopo aver letto: notes.torrez.org/2013/04/put-a-burger-in-your-shell.html Mi è piaciuto così è rimasto.
dwightk,

1
Quella funzione git è davvero bella. Salverà qualche ramo git -a cmd.
jeremyjjbrown,

1
anche l'output git colorato è bello. thomashunter.name/blog/…
jeremyjjbrown

9

AFAIK non esiste alcun modo UNIX per colorare nient'altro che il prompt.

Ma quando hai chiesto una soluzione iTerm2 sei fortunato! Utilizzare la funzione Trigger per colorare regexp di corrispondenza del testo.

Ad esempio, se i tuoi messaggi si presentano così:

.. quindi aggiungi in iTerm -> Preferenze -> Profili -> Avanzate -> Trigger, [Modifica] un Trigger in questo modo:

.. che corrisponderà alla parte di comando di ogni riga, che inizierà ad apparire così:

Voilà: hai colori diversi per prompt, comando e output! :)


Questo è più semplice per la maggior parte delle persone che scommetto così votato. Ma dal momento che l'altro funzionerà in qualsiasi termine, anche da remoto e colora anche il prompt git, lo terrò come risposta accettata.
jeremyjjbrown,

Che tipo di carattere usi?
rimorchiato

@towry: Consolas
Greg Dubicki,

Potresti facilmente inserire qualcosa di simile \e[95malla fine della tua PS1 var e questo lo farebbe
Samy Bencherif

Grazie @SamyBencherif, ma questo colorerà anche l'output con lo stesso colore del comando, che non era quello richiesto da OP.
Greg Dubicki,


1

La soluzione iTerm funziona ma sembra esserci un leggero ritardo nella colorazione. Se si smette di digitare per un secondo, l'intera riga viene colorata come previsto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.