Come posso configurare Mac Terminal per avere un output a colori? Sto usando MacOS 10.5
Come posso configurare Mac Terminal per avere un output a colori? Sto usando MacOS 10.5
Risposte:
Modificare:
~/.bash_profile
o
~/.profile
e aggiungi la seguente riga per abilitare semplicemente l'output del colore tramite ls
:
export CLICOLOR=1
Per personalizzare la colorazione mostrato da ls
voi può opzionalmente aggiungere questa variabile, LSCOLORS
.
Predefinito
export LSCOLORS=ExFxCxDxBxegedabagacad
Puoi usarlo se stai usando uno sfondo nero
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
Se desideri imitare i colori di un tipico terminale Linux:
export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd
Dopo aver aggiunto quanto sopra a entrambi ~/.bash_profile
o ~/.profile
è possibile disconnettersi / accedere o eseguire il sorgente del file nella shell, ad esempio:
$ . ~/.bash_profile
NOTA: se hai bisogno di aiuto per selezionare i colori da usare, puoi usare questo strumento online chiamato LSCOLORS Generator .
echo $CLICOLOR
dovrebbe dare 1?
Puoi aggiungere
alias ls='ls -G'
al tuo ~/.bash_profile
per ottenere un ls
output colorato .
-p
e ti sollevo un -F
che inoltre mette un *
eseguibile |
after , after pipe, @
dopo symlink, eccetera.
export CLICOLOR=1
per ottenere lo stesso risultato.
Trovo che tutto ciò di cui ho davvero bisogno sia aggiungerlo al mio ~/.bash_profile
export CLICOLOR=1
~/.bashrc
.
. ~/.bash_profile
oppure 3. logout / login
Se desideri una combinazione di colori del Terminale di Mac OS X leggibile, puoi esaminare questo:
Lo sto usando da oltre un anno e potrei non essere in grado di funzionare senza di esso!
Ecco un link aggiornato:
Inoltre puoi personalizzare il colore del prompt (e il suo formato) aggiungendo:
PS1='\[\e[0;33m\]\h:\W \u\$\[\e[m\] '
a ~/.bash_profile
o ~/.profile
file. Dov'è il 0;33
giallo normale che sembra bello nella mia finestra terminale nera / semitrasparente.
Ecco un elenco completo dei colori e delle loro spiegazioni: https://wiki.archlinux.org/index.php/Color_Bash_Prompt
Un'altra opzione è quella di utilizzare la GNU ls
che fa parte del programma "coreutils".
Puoi ottenerlo tramite Rudix o Homebrew ( brew info coreutils
) o Macports o Fink. Potrebbe essere preferibile utilizzare una soluzione "solo per Mac OS X" se si utilizzano gli stessi file di configurazione della shell su sistemi diversi o se si ha già familiarità con GNU ls.
Personalmente, sto usando Oh My Zsh per aggiungere colore e altri trucchi al mio Terminale. Penso che sia il modo più semplice.
oh-my-zsh è un framework open source guidato dalla community per la gestione della configurazione di Zsh.
Viene fornito in bundle con un sacco di funzioni utili, aiutanti, plugin, temi e alcune cose che ti fanno gridare ...
Aggiungi semplicemente la seguente riga al ~/.bash_profile
file:
export PS1=" \[\033[34m\]\u@\h \[\033[33m\]\w\[\033[31m\]\[\033[00m\] $ "
Questi sono i miei colori preferiti. È possibile personalizzare ogni parte del colore del prompt modificando i m
codici (ad es. 34m
) Che sono codici colore ANSI.
Elenco dei codici colore ANSI:
Combinando tutte le risposte qui è quello che uso:
COLOR_RED="\033[0;31m"
COLOR_YELLOW="\033[0;33m"
COLOR_GREEN="\033[0;32m"
COLOR_OCHRE="\033[38;5;95m"
COLOR_BLUE="\033[0;34m"
COLOR_WHITE="\033[0;37m"
COLOR_RESET="\033[0m"
#git_color
function git_color {
local git_status="$(git status 2> /dev/null)"
if [[ ! $git_status =~ "working directory clean" ]]; then
echo -e $COLOR_RED
elif [[ $git_status =~ "Your branch is ahead of" ]]; then
echo -e $COLOR_YELLOW
elif [[ $git_status =~ "nothing to commit" ]]; then
echo -e $COLOR_GREEN
else
echo -e $COLOR_OCHRE
fi
}
#git_branch
function git_branch {
local git_status="$(git status 2> /dev/null)"
local on_branch="On branch ([^${IFS}]*)"
local on_commit="HEAD detached at ([^${IFS}]*)"
if [[ $git_status =~ $on_branch ]]; then
local branch=${BASH_REMATCH[1]}
echo "($branch)"
elif [[ $git_status =~ $on_commit ]]; then
local commit=${BASH_REMATCH[1]}
echo "($commit)"
fi
}
PS1='\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]'
PS1+="\[\$(git_color)\]" # colors git status
PS1+="\$(git_branch)" # prints current branch
PS1+="\[$COLOR_BLUE\]\[$COLOR_RESET\]\$ "
export PS1
export LC_ALL=en_US.UTF-8
export CLICOLOR=1
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
alias ls="ls -Gp"
Dimentica tutti quei codici criptici di decenni per gosh sakes, usa il pannello Terminale integrato -> Preferenze ... per impostare lo skin predefinito e modificare i colori ANSI a tuo piacimento. Puoi anche impostare il carattere. Preferisco Menlo 12pt. Questo è il modo in cui qualsiasi normale Joe può farlo, ed evitare tutto il modo folle e unix-esque di fare le cose come hanno suggerito altri poster.
ls
può avere un output colorato è anche in grado di eseguire alcuni comandi Unix per configurarlo correttamente.