Îmi petrec majoritatea timpului de lucru în medii Unix și folosind emulatoare de terminal. Încerc să folosesc o culoare pe linia de comandă, deoarece culoarea face producția mai util și intuitiv.
Ce opțiuni există pentru a adăuga culoare la terminalul meu de mediu? Ce trucuri folosesti? Ce capcane te-ai întâlnit?
Din păcate, suport pentru culoare variază în funcție de tip terminal, sistem de OPERARE, pe TERMEN setare, utilitate, buggy implementări, etc.
Aici sunt câteva sfaturi de la setup meu, după o mulțime de experimentare:
dircolors
și, implicit, și eu nu't doriți să modificați acest lucru pe o sută de diferite gazde. Așa că încercați să rămânem cu cele prestabilite. În schimb, am tweak terminalul meu's de configurare de culoare.e
, grep
, mai
, vim
) și Bash prompt. Aceste comenzi par să folosească standard "ANSI secvențe escape". De exemplu:alias mai puțin='mai puțin-PRIME-de CONTROL-de CARACTERE' export LS_OPTS='--color=auto' alias ls='e ${LS_OPTS}'
Am'll post mea `.bashrc și răspunde-mi la întrebare Pericol Stil.
Aici sunt un cuplu de lucruri pe care le puteți face:
Editori + Cod
O mulțime de editorii au evidențierea sintaxei. vim " și " emacs
o au activată în mod implicit. Puteți, de asemenea, [i permită, în "nano"] (https://askubuntu.com/questions/90013/how-do-i-enable-syntax-highlighting-in-nano).
De asemenea, puteți evidenția sintaxa codul de pe terminal prin utilizarea Pygments ca un instrument de linie de comandă.
grep
grep --color=auto
scoate în evidență toate meciurile. Puteți folosi, de asemenea, de export GREP_OPTIONS='--color=auto'pentru a face persistentă fără un alias. Dacă utilizați
--color=întotdeauna`, l'll color chiar și atunci când tubulatura, care confundă lucrurile.
ls
`ls --color=întotdeauna
Culori specificate prin:
export LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33'
(indiciu: dircolors
pot fi de ajutor)
PS1 Puteți seta PS1 (shell prompt) pentru a utiliza culori. De exemplu:
PS1='\e[33;1m\u@\h: \e[31m\W\e[0m\$ '
Va produce un PS1, cum ar fi:
[galben]lucas@ubuntu: [red]~[normal]$
Puteți obține cu adevărat creativ cu acest lucru. Ca o idee:
PS1='\e[s\e[0;0H\e[1;33m\h \t\n\e[1;32mThis is my computer\e[u[\u@\h: \w]\$ '
Pune un bar în partea de sus a terminalului cu un oarecare info. (Pentru cele mai bune rezultate, utiliza, de asemenea, alias clar="echo -e '\e[2J\n\n'"`.)
Scăpa de Secvențe Escape
Dacă ceva este blocat scoate culoarea atunci când tu nu't vreau să folosesc acest sed
linie să se dezbrace secvențe escape:
sed "s/\[^[[0-9;]*[a-zA-Z]//gi"
Dacă doriți o experiență mai autentic, puteți obține, de asemenea scăpa de linii care încep cu \e[8m
, care instruiește terminal pentru a ascunde textul. (Nu sunt acceptate pe scară largă.)
sed "s/^\[^[8m.*$//gi"
De asemenea, rețineți că aceste ^[s-ar fi real, literal ^[s. Aveți posibilitatea să tastați-le prin apăsarea ^V^[ în bash, care este Ctrl + V, Ctrl + [.
Am, de asemenea, utiliza:
export TERM=xterm-color
export GREP_OPTIONS='--color=auto' GREP_COLOR='1;32'
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad
Și dacă vă place colorarea dumneavoastră prompt, definite de culoare vars pot fi utile:
export COLOR_NC='\e[0m' # No Color
export COLOR_WHITE='\e[1;37m'
export COLOR_BLACK='\e[0;30m'
export COLOR_BLUE='\e[0;34m'
export COLOR_LIGHT_BLUE='\e[1;34m'
export COLOR_GREEN='\e[0;32m'
export COLOR_LIGHT_GREEN='\e[1;32m'
export COLOR_CYAN='\e[0;36m'
export COLOR_LIGHT_CYAN='\e[1;36m'
export COLOR_RED='\e[0;31m'
export COLOR_LIGHT_RED='\e[1;31m'
export COLOR_PURPLE='\e[0;35m'
export COLOR_LIGHT_PURPLE='\e[1;35m'
export COLOR_BROWN='\e[0;33m'
export COLOR_YELLOW='\e[1;33m'
export COLOR_GRAY='\e[0;30m'
export COLOR_LIGHT_GRAY='\e[0;37m'
Și apoi promptă mea este ceva de genul:
case $TERM in
xterm*|rxvt*)
local TITLEBAR='\[\033]0;\u ${NEW_PWD}\007\]'
;;
*)
local TITLEBAR=""
;;
esac
local UC=$COLOR_WHITE # user's color
[ $UID -eq "0" ] && UC=$COLOR_RED # root's color
PS1="$TITLEBAR\n\[${UC}\]\u \[${COLOR_LIGHT_BLUE}\]\${PWD} \[${COLOR_BLACK}\]\$(vcprompt) \n\[${COLOR_LIGHT_GREEN}\]→\[${COLOR_NC}\] "
$(vcprompt) este de asteptare un script python în ~/sbin care imprimă versiune de control informații despre calea de curent. Acesta include suport pentru Mercurial, Git, Svn, Cvs, etc. Autor de scenariu are sursa aici.
Aceasta este full sursa a mea prompt de configurare:
grep
și e
au fost deja menționat, dacă doriți o mulțime mai multe culori check out Generic Coloriser, scopul inițial al acestuia a fost să colorize logfiles, dar drept afară de la cutie, de asemenea, colorizes ping
, traceroute
, gcc", " a face
, netstat
, diff
, ultimul
, ldap
, și cv
.
L's a extins cu ușurință, dacă știi regexes. Am'am adăugat " ps " și nmap
la lista (dacă aveți într grc
I'll fi mai mult decât fericit de a împărtăși .conf fișiere pentru cele două instrumente)
(Btw, să-l instalați prin sinaptice
, pacman
, si la fel ai putea avea mai mult noroc în căutarea pentru "grc")
Am'am perfecționat meu .bashrc de-a lungul anilor pentru a lucra pe ambele OSX și Ubuntu. Am'am, de asemenea, redus în mărime de 28 de linii cu compact stare declarații. Cu ea, mi PS1 prompt arata ca:
cu timpul în roșu, numele de utilizator în verde, mașină de nume în lumina albastră, pwd în albastru întunecat și git branch în galben.
Caracteristică a mea PS1 prompt:
_
între atunci (ca's pwd sed
parte de LOCAȚIE).Liniile relevante din .bashrc
fișier sunt:
git_branch () { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'; }
HOST='\033[02;36m\]\h'; HOST=' '$HOST
TIME='\033[01;31m\]\t \033[01;32m\]'
LOCATION=' \033[01;34m\]`pwd | sed "s#\(/[^/]\{1,\}/[^/]\{1,\}/[^/]\{1,\}/\).*\(/[^/]\{1,\}/[^/]\{1,\}\)/\{0,1\}#\1_\2#g"`'
BRANCH=' \033[00;33m\]$(git_branch)\[\033[00m\]\n\$ '
PS1=$TIME$USER$HOST$LOCATION$BRANCH
PS2='\[\033[01;36m\]>'
Pentru ls cu culori atunci când sunt disponibile și nu există erori atunci când nu (de exemplu, OSX):
ls --color=al > /dev/null 2>&1 && alias ls='ls -F --color=al' || alias ls='ls -G'
Culori pentru om de pagini (mai multe detalii):
function _colorman() {
env \
LESS_TERMCAP_mb=$(printf "\e[1;35m") \
LESS_TERMCAP_md=$(printf "\e[1;34m") \
LESS_TERMCAP_me=$(printf "\e[0m") \
LESS_TERMCAP_se=$(printf "\e[0m") \
LESS_TERMCAP_so=$(printf "\e[7;40m") \
LESS_TERMCAP_ue=$(printf "\e[0m") \
LESS_TERMCAP_us=$(printf "\e[1;33m") \
"$@"
}
function man() { _colorman man "$@"; }
function perldoc() { command perldoc -n less "$@" |man -l -; }
Culori pentru grep (1;32
este luminos verde, a se vedea alte posturi aici pentru alte culori):
GREP_OPTS='--color=auto' # for aliases since $GREP_OPTIONS is deprecated
GREP_COLOR='1;32' # (legacy) bright green rather than default red
GREP_COLORS="ms=$GREP_COLOR" # (new) Matching text in Selected line = green
alias grep='grep $GREP_OPTS'
alias egrep='egrep $GREP_OPTS'
alias fgrep='fgrep $GREP_OPTS'
Mai multe culori pentru GNU e:
# use the config at ~/.dircolors if it exists, otherwise generate anew
eval "$( dircolors --sh $(ls -d ~/.dircolors 2>/dev/null) )"
# Usage: _ls_colors_add BASE NEW [NEW...]
# Have LS color given NEW extensions the way BASE extension is colored
_ls_colors_add() {
local BASE_COLOR="${LS_COLORS##*:?.$1=}" NEW
if [ "$LS_COLORS" != "$BASE_COLOR" ]; then
BASE_COLOR="${BASE_COLOR%%:*}"
shift
for NEW in "$@"; do
if [ "$LS_COLORS" = "${LS_COLORS#*.$NEW=}" ]; then
LS_COLORS="${LS_COLORS%%:}:*.$NEW=$BASE_COLOR:"
fi
done
fi
export LS_COLORS
}
_ls_colors_add zip jar xpi # archives
_ls_colors_add jpg ico JPG PNG webp # images
_ls_colors_add ogg opus # audio (opus now included by default)
CLICOLOR=1 # BSD auto-color trigger (like ls -G but for everything)
if ls -ld --color=auto / >/dev/null 2>&1
then alias ls="ls -ph --color=auto"
else alias ls="ls -ph"
fi
Instala grc
(Generic Colouriser) și adăugați-l la pseudonime:
# using this as a variable allows easier calling down lower
export GRC='grc -es --colour=auto'
# loop through known commands plus all those with named conf files
for cmd in g++ head ld ping6 tail traceroute6 `locate grc/conf.`; do
cmd="${cmd##*grc/conf.}" # we want just the command
# if the command exists, alias it to pass through grc
type "$cmd" >/dev/null 2>&1 && alias "$cmd"="$GRC $cmd"
done
# This needs run-time detection. We even fake the 'command not found' error.
configure() {
if [[ -x ./configure ]]; then
colourify ./configure "$@"
else
echo "configure: command not found" >&2
return 127
fi
}
# GRC plus LS awesomeness (assumes you have an alias for ls)
unalias ll 2>/dev/null
if ls -ld --color=always / >/dev/null 2>&1; then GNU_LS="--color=always"; fi
ll() {
if [[ -t 1 ]] || [[ -n "$CLICOLOR_FORCE" ]]
then colourify ls -l $GNU_LS "$@"
else ls -l "$@"
fi
}
Culori pentru dif: Prea mult conținut pentru o funcție, utilizați un script și alias-l în rc_ (inutile dacă ați instalat grc
):
#!/usr/bin/perl
use strict;
use warnings;
open (DIFF, "-|", "diff", @ARGV) or die $!;
my $ydiff = 1;
while (<DIFF>) {
if (not -t 1) {
print;
next;
}
chomp;
$ydiff = 0 if /^[ <>\@+-]/ or ($. == 1 && /^\d+[a-z]{1,5}\d+$/);
my $color = "";
if (! $ydiff && /^[\@+-<>]/) {
$color = (/^[<-](?!--$)/ ? 1 : /^[+>]/ ? 2 : 5);
} elsif ($ydiff && /\t {6}([<|>])(?:\t|$)/) {
$color = ($1 eq "<" ? 1 : $1 eq ">" ? 2 : 4);
}
$color ? printf ("\e[1;3%dm%s\e[0;0m\n",$color,$_) : print "$_\n";
}
close DIFF;
Culori pentru bash prompt:
# Shorten home dir, cygwin drives, paths that are too long
if [ -d /cygdrive ] && uname -a |grep -qi cygwin; then CYGWIN_OS=1; fi
function PSWD() {
local p="$*" space A B cols="${COLUMNS:-`tput cols 2>/dev/null || echo 80`}"
p="${p/$HOME/\~}" # shrink home down to a tilde
if [ -n "$CYGWIN_OS" ] && [ "${p#/cygdrive/?/}" != "$p" ]; then
p="${p:10:1}:${p:11}" # /cygdrive/c/hi -> c:/hi
fi
space="$((${#USER}+${#HOSTNAME}+6))" # width w/out the path
if [ "$cols" -lt 60 ]; then echo -n "$N "; space=-29; p="$p$N\b"; fi
if [ "$cols" -lt "$((space+${#p}+20))" ]; then # < 20 chars for the command
A=$(( (cols-20-space)/4 )) # a quarter of the space (-20 for cmd)
if [ $A -lt 4 ]; then A=4; fi # 4+ chars from beginning
B=$(( cols-20-space-A*2 )) # half (plus rounding) of the space
if [ $B -lt 8 ]; then B=8; fi # 8+ chars from end
p="${p:0:$A}..${p: -$B}"
fi
echo "$p"
}
PSC() { echo -ne "\[\033[${1:-0;38}m\]"; }
PR="0;32" # default color used in prompt is green
if [ "$(id -u)" = 0 ]; then
sudo=41 # root is red background
elif [ "$USER" != "${SUDO_USER:-$USER}" ]; then
sudo=31 # not root, not self: red text
else sudo="$PR" # standard user color
fi
PROMPT_COMMAND='[ $? = 0 ] && PS1=${PS1[1]} || PS1=${PS1[2]}'
PSbase="$(PSC $sudo)\u$(PSC $PR)@\h $(PSC 33)\$(PSWD \w)"
PS1[1]="$PSbase$(PSC $PR)\$ $(PSC)"
PS1[2]="$PSbase$(PSC 31)\$ $(PSC)"
PS1="${PS1[1]}"
unset sudo PR PSbase
Setați un bold/colorate prompt. De cyberciti.biz și BashFAQ
# 'tput bold' will work regardless of the foreground and background colors.
# Place the tput output into variables, so they are only execd once.
bold=$(tput bold) # This could also be a color.
reset=$(tput sgr0)
export PS1="\u@\[$bold\]\h\[$reset\]:\w \$ "
Am'am reușit, de asemenea, să găsiți setările de culoare, care sunt acceptate pe scară largă, și care don't de imprimare bolboroseală personaje în vârstă, medii (chiar FreeBSD4!), și pare să funcționeze bine dacă pe TERMEN scurt=vt100, xterm, xterm-culoare. (Pentru cea mai mare parte). La a mea .bashrc:
# Set some options, based on the OS
OS=`uname -s`
case "$OS" in
"SunOS" )
# Solaris ls doesn't allow color, so use special characters
LS_OPTS='-F'
alias ls='ls ${LS_OPTS}'
;;
"Linux" )
# GNU ls supports colors!
# See dircolors to customize colors
export LS_OPTS='--color=auto'
alias ls='ls ${LS_OPTS}'
# Get color support for 'less'
export LESS="--RAW-CONTROL-CHARS"
# Use colors for less, man, etc.
[[ -f ~/.LESS_TERMCAP ]] && . ~/.LESS_TERMCAP
export GREP_OPTIONS="--color=auto"
;;
"Darwin"|"FreeBSD")
# Most FreeBSD & Apple Darwin supports colors
export CLICOLOR=true
# Get color support for 'less'
export LESS="--RAW-CONTROL-CHARS"
# Use colors for less, man, etc.
[[ -f ~/.LESS_TERMCAP ]] && . ~/.LESS_TERMCAP
export GREP_OPTIONS="--color=auto"
;;
* )
echo "Unknown OS [$OS]"
;;
esac
Lucruri care nu s-au spus deja aici:
Să colorize ieșire de compilatii cu gcc, există colorgcc de Johannes Scoalaüter
Să colorize busteni, acolo este multitail
Să colorize orice stdout, am pus împreună xcol
Eu personal folosesc aceste din xcol instrument.
#normal=$(tput sgr0) # normal text
normal=$'\e[0m' # (works better sometimes)
bold=$(tput bold) # make colors bold/bright
red="$bold$(tput setaf 1)" # bright red text
green=$(tput setaf 2) # dim green text
fawn=$(tput setaf 3); beige="$fawn" # dark yellow text
yellow="$bold$fawn" # bright yellow text
darkblue=$(tput setaf 4) # dim blue text
blue="$bold$darkblue" # bright blue text
purple=$(tput setaf 5); magenta="$purple" # magenta text
pink="$bold$purple" # bright magenta text
darkcyan=$(tput setaf 6) # dim cyan text
cyan="$bold$darkcyan" # bright cyan text
gray=$(tput setaf 7) # dim white text
darkgray="$bold"$(tput setaf 0) # bold black = dark gray text
white="$bold$gray" # bright white text
Eu folosesc aceste variabile în scripturi ca asa
echo "${red}hello ${yellow}this is ${green}coloured${normal}"
Am, de asemenea, ca această funcție coloredEcho ( găsit pe Stack Overflow )
function coloredEcho(){
local exp=$1;
local color=$2;
if ! [[ $color =~ '^[0-9]$' ]] ; then
case $(echo $color | tr '[:upper:]' '[:lower:]') in
black) color=0 ;;
red) color=1 ;;
green) color=2 ;;
yellow) color=3 ;;
blue) color=4 ;;
magenta) color=5 ;;
cyan) color=6 ;;
white|*) color=7 ;; # white or invalid color
esac
fi
tput setaf $color;
echo $exp;
tput sgr0;
}
coloredEcho "This text is green" green
Ne pare rau, nu a permis de a posta mai multe link-uri
Nu's un bun instrument pentru configurarea culori pentru comanda ls - http://geoff.greer.fm/lscolors/
Pentru vizualizarea dif de ieșire de culoare, utilizați colordiff.
sudo apt-get install colordiff
Conducta de orice dif-format de ieșire în colordiff:
Aceasta include unele dintre dif's formate alternative, cum ar fi -y
(side-by-side.)
Alternativ, în cazul invocat de sine stătătoare (fără nimic prin conducte în ea) apoi acționează ca un înveliș în jurul valorii de 'dif', și culori de ieșire. Prin urmare, am avea acest lucru în mea .bashrc, să alias 'dif' la colordiff.
# if colordiff is installed, use it
if type colordiff &>/dev/null ; then
alias diff=colordiff
Vă sugerez să verificați ZSH și plugin oh-my-zsh, care are una dintre cele mai puternice console caracteristici care l-am văzut. Una dintre ele este alegerea temei pentru terminal. Acesta este exemplu de tema mea... În tty culorile nu sunt atât de cald, dar ele sunt la fel ca in aceasta imagine... Orice drum te va iubi!
Mă întrebam același lucru. Eu am propria mea abordare, dar eu'm în căutarea de alternative.
Scriu bash ambalaje jurul program de apeluri și conducta de ieșire a acestora, deși sed
. Ce-mi place la sed
este că se va modifica și echo fiecare linie imediat => nu mai mult de tamponare. Cu toate acestea, nu-mi place ca pentru fiecare apel pentru a și-a încheiat programul sed
cod este analizat și compilate.
De exemplu, acest lucru este ceea ce fac la culoare producția de "pa":
#
# Colorcodes
#
NORMAL=`echo -e '\033[0m'`
RED=`echo -e '\033[31m'`
GREEN=`echo -e '\033[0;32m'`
LGREEN=`echo -e '\033[1;32m'`
BLUE=`echo -e '\033[0;34m'`
LBLUE=`echo -e '\033[1;34m'`
YELLOW=`echo -e '\033[0;33m'`
#
# command: ip
# highlight ip addresses, default route and interface names
#
IP4=$GREEN
IP6=$LBLUE
IFACE=${YELLOW}
DEFAULT_ROUTE=$LBLUE
IP_CMD=$(which ip)
function colored_ip()
{
${IP_CMD} $@ | sed \
-e "s/inet [^ ]\+ /${IP4}&${NORMAL}/g"\
-e "s/inet6 [^ ]\+ /${IP6}&${NORMAL}/g"\
-e "s/^default via .*$/${DEFAULT_ROUTE}&${NORMAL}/"\
-e "s/^\([0-9]\+: \+\)\([^ \t]\+\)/\1${IFACE}\2${NORMAL}/"
}
alias ip='colored_ip'
Pentru stabilirea promptă, am asta in .bashrc fișier.
#Set variables for foreground colors
fgRed=$(tput setaf 1) ; fgGreen=$(tput setaf 2) ; fgBlue=$(tput setaf 4)
fgMagenta=$(tput setaf 5) ; fgYellow=$(tput setaf 3) ; fgCyan=$(tput setaf 6)
fgWhite=$(tput setaf 7) ; fgBlack=$(tput setaf 0)
#Set variables for background colors
bgRed=$(tput setab 1) ; bgGreen=$(tput setab 2) ; bgBlue=$(tput setab 4)
bgMagenta=$(tput setab 5) ; bgYellow=$(tput setab 3) ; bgCyan=$(tput setab 6)
bgWhite=$(tput setab 7) ; bgBlack=$(tput setab 0)
#Set variables for font weight and text decoration
B=$(tput bold) ; U=$(tput smul) ; C=$(tput sgr0)
#NOTE: ${C} clears the current formatting
if [[ $USER = "root" ]]; then
PS1="${B}${fgRed}\u${C}@\h(\s): ${fgGreen}\w${C} > "
else
PS1="${B}${fgCyan}\u${C}@\h(\s): ${fgGreen}\w${C} > "
fi
Asta-mi dă un prompt care arata ceva de genul asta:
user@host(bash): ~/bin >
Directorul de lucru este în verde. Și numele de utilizator este îndrăzneț și cyan dacă nu am fugit coajă cu "sudo", caz în care numele de utilizator ("rădăcină") afișează bold si rosu.
Eu personal place foarte mult având de formatare caractere de control stocate în variabile, deoarece se face citirea codului pentru stabilirea promptă mai ușor. Ea face, de asemenea, editarea prompt mult mai ușor.
Motivul pentru care am folosi tpute care-l's ar trebui să fie mai universal acceptate decât ciudat
033[01;31m]secvențe. De asemenea, ca un bonus, dacă ai face
echo $PS1` în linia de comandă, veți vedea prime prompt cu culori în loc de cei de neînțeles secvență de control.
Puteți încerca un proiect care ajută la colorarea script-uri de ieșire, de asemenea, numit ScriptEchoColor la sursă forge: http://scriptechocolor.sourceforge.net/
ex.:
echoc "@{lr}text output in light red"
echoc "@{bLGu}text outpus in blue, light green background and underlined"
echoc "you @{lr} can @{bLGu} mix @{-a} it all too"
echoc -x "ls" #executes ls command and colorizes it automatically to be easy to be seen
Automat culorile sunt configurabile.
Acesta este un exemplu facut cu ea:
Un mare general-scop Python instrument pentru colorarea de ieșire de comenzi este 'colout'
Vă dau un regex cu N grupuri, urmată de o listă separată prin virgule de N culori. Orice text care se potrivește un grup va fi afișat în culoarea corespunzătoare.
Așa de exemplu, dacă're în căutarea la un test de ieșire:
python -m unittest discover -v
apoi, puteți molid cu:
python -m unittest discover -v 2>&1 | colout '(.*ERROR$)|(.*FAIL$)|(\(.*\))' red,yellow,black bold
Vezi cum mi-a regex a trei grupuri (paranteze), urmat de trei culori (și, opțional, trei stiluri, dar am'am folosit o prescurtare pentru a stabili toate culorile la 'bold', deci 'negru' de grup, care se potrivește textul între paranteze, iese la fel de gri.)
Rețineți, de asemenea, cum am avut de a adăuga 2>&1
la sfârșitul Python invocarea, pentru că producția de unittest este pe stderr, așa că l-am transferat la stdout, astfel încât am putut țeavă în colout.
Acest lucru este, în general, atât de ușor de utilizat, care de multe ori ma trezesc crearea de noi colout invocații pe-the-fly, și reutilizarea sau modificarea ei din linia de comandă istorie.
Singurul dezavantaj este că ea vine ca un pachet Python, nu un executabil de sine stătător, astfel încât aveți nevoie să-l instalați folosind pip, sau sudo python setup.py instala
.
Am găsit Solarized utile. Sa o curat de proiect cu culori uniforme pentru o mulțime de aplicații.
http://ethanschoonover.com/solarized https://github.com/altercation/solarized
Eu folosesc color înveliș.
cw este un non-intruziv în timp real ANSI culoare wrapper for common unix-based comenzi pe GNU/linux. cw este proiectat pentru a simula mediul de comenzi de executat, așa că, dacă o persoană tipuri 'du', 'df', 'ping', etc. în coaja lor se va în mod automat culoarea de ieșire în timp real, în funcție pentru un fișier de definiție conțin formatul de culoare dorit. cw are suport pentru wildcard meci de colorat, tokenized de colorat, antete/subsoluri, caz colorat, linia de comandă dependentă de definiția de colorat, și include peste 50 de pre-a făcut fișierele de definiție.
Este aproape perfectă, dar după ce am constatat că ps în shell-ul interactiv se întoarce de ieșire diferite, compararea ps într-o conductă.
Am'd vrea umil publicitate mea recentă publicație a " ta " sau textattr, o bibliotecă și un instrument de linie de comandă care are scopul de a face adăugarea de culoare și atribute pentru a înfrumuseța terminalul de ieșire din programul mai ușor prin traducerea-uman poate fi citit specificatiile într-ANSI evacuare coduri.
De exemplu:
echo "Git repo $(at galben)${CUR_REPO}$(at pe) e $(ta verde)până la data de$(at pe)"
sau chiar mai scurte:
echo "Git repo $(at y)${CUR_REPO}$(ta f) este de $(ta g)până la data de$(ta f)"
sau un supleant:
tawrite "Git repo " @y ${CUR_REPO} @f " este " @g up-to-data de @f "\n"
va da ceva de genul:
În prezent, această bibliotecă este utilizabil de la patru limbi C, C++, D și Python în afară de commandline utilizarea de preferat shell.
Rețineți că aceasta nu în mod automat colourize de ieșire din orice alte programe. Este mai degrabă un utilitar pentru a vă ajuta cu a nu fi nevoie să vă amintiți greu de înțeles coduri. Ai nevoie doar de a utiliza evident nume de culori sau ușor de reținut rgb cmyk w(hite) (a)f abrevieri.
Pentru mai multe detalii vizitati la textattr repo.
Pentru Mac, puteți utiliza următoarele specificate aici
if [ "$TERM" = xterm ]; then TERM=xterm-256color; fi
dacă doriți să vă face vim
colorat la fel ca mine, vă sugerez să urmați doi pași:
etape-cheie în link-ul:
- Edit ~/.vimrc fișier tastând comanda: vi ~/.vimrc
- Adăugați următoarele opțiuni:sintaxa pe
- Salvați și închideți fișierul
- Testați-l prin rularea vim comanda: vim foo.sh