Come posso configurare Mac Terminal in modo che abbia l'output del colore ls? Sto usando MacOS 10.5
Modifica:
~/.bash_profile
o
~/.profile
e aggiungi la seguente riga per abilitare semplicemente l'output a colori tramite ls
:
export CLICOLOR=1
Per personalizzare la colorazione mostrata da ls
puoi facoltativamente aggiungere questa variabile, LSCOLORS
.
default
export LSCOLORS=ExFxCxDxBxegedabagacad
Puoi usarlo se usi 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 ~/.bash_profile
o ~/.profile
puoi eseguire il logout / login o il file sorgente nella tua shell, ad esempio:
$ . ~/.bash_profile
NOTA: se hai bisogno di aiuto nella selezione dei colori da utilizzare puoi utilizzare questo strumento online chiamato LSCOLORS Generator .
Puoi aggiungere
alias ls='ls -G'
alla tua ~/.bash_profile
per ottenere l'output ls
colorato.
Trovo che tutto ciò di cui ho bisogno sia aggiungere questo al mio ~/.bash_profile
export CLICOLOR=1
Inoltre puoi personalizzare il colore del prompt (e il suo formato) aggiungendo:
PS1='\[\e[0;33m\]\h:\W \u\$\[\e[m\] '
da a ~/.bash_profile
o ~/.profile
file. Dove 0;33
è un giallo regolare che sembra bello nella mia finestra terminale nera / semitrasparente.
Ecco un elenco completo di colori e le loro spiegazioni: link
Un'altra opzione è quella di utilizzare il ls
di GNU che fa parte del programma 'coreutils'.
Puoi scaricarlo tramite Rudix o Homebrew ( brew info coreutils
) o Macport o Fink. Potrebbe essere preferibile utilizzare una soluzione "Mac OS X-only" 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 colori e altri trucchi al mio terminale. Penso che sia il modo più semplice.
oh-my-zsh is an open source, community-driven framework for managing your Zsh configuration.
It comes bundled with a ton of helpful functions, helpers, plugins, themes, and a few things that make you shout…
Dimentica tutti quei codici enigmatici plurisecolari per amor di Dio, usa il terminale integrato - > Preferenze ... riquadro Impostazioni per impostare lo skin predefinito e modificare i colori ANSI a proprio piacimento. Puoi anche impostare il carattere. Preferisco Menlo 12pt. È così che qualsiasi Joe regolare può farlo ed evitare tutta la pazzesca linea di comando, un modo unix-esque di fare le cose come suggerito da altri poster.
Semplicemente aggiungi la seguente riga a ~/.bash_profile
file:
export PS1=" \[3[34m\]\u@\h \[3[33m\]\w\[3[31m\]\[3[00m\] $ "
Questo è il mio colore preferito. Puoi personalizzare ciascuna parte del colore del prompt modificando i codici m
(ad esempio 34m
) che sono codici colore ANSI.
Elenco dei codici colore ANSI:
Combinare tutte le risposte qui è quello che uso:
COLOR_RED="3[0;31m"
COLOR_YELLOW="3[0;33m"
COLOR_GREEN="3[0;32m"
COLOR_OCHRE="3[38;5;95m"
COLOR_BLUE="3[0;34m"
COLOR_WHITE="3[0;37m"
COLOR_RESET="3[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='\[3[01;32m\]\u\[3[00m\]:\[3[01;34m\]\w\[3[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"