私はほとんどの時間をUnix環境で作業し、ターミナルエミュレータを使用しています。色を使用すると、出力がより便利で直感的になります。
端末環境に色を追加するにはどのようなオプションがありますか?どんなトリックを使っていますか?どのような落とし穴に遭遇しましたか?
残念ながら、色のサポートは端末タイプ、OS、TERM設定、ユーティリティ、バグのある実装などによって異なります。
多くの実験の後の私のセットアップからのいくつかのヒントはここにあります:
TERM=xterm-color
、ほとんどのホストでサポートされています(すべてではありません)。screen
を使用して一連の作業を行います。これにより、さらに楽しい層が追加されます。dircolors
のようなものを設定し、デフォルトでは100の異なるホストでこれを変更したくありません。だから私はデフォルトに固執しようとします。代わりに、端末の色設定を微調整します。一部の nixコマンド (ls
、grep
、less
、vim
)および Bashプロンプトに色を使用する 。これらのコマンドは、標準の「 ANSIエスケープシーケンス 」を使用しているようです。例えば:
alias less='less --RAW-CONTROL-CHARS'
export LS_OPTS='--color=auto'
alias ls='ls ${LS_OPTS}'
.bashrc
と私自身の質問Jeopardyスタイルに答えます。
できることは次のとおりです。
編集者+コード
多くのエディターは構文強調表示をサポートしています。 vim
とemacs
はデフォルトでオンになっています。 nano
で有効にすることもできます。
コマンドラインツールとして Pygments を使用して、ターミナルでコードを構文強調表示することもできます。
grepgrep --color=auto
は、すべての一致を強調表示します。 export GREP_OPTIONS='--color=auto'
を使用して、エイリアスなしで永続化することもできます。 --color=always
を使用すると、 パイピング時でも色を使用 となり、混乱を招きます。
ls
ls --color=always
によって指定された色:
export LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33'
(ヒント:dircolors
が役立つ場合があります)
PS1
PS1(シェルプロンプト)で色を使用するように設定できます。例えば:
PS1='\e[33;1m\u@\h: \e[31m\W\e[0m\$ '
次のようなPS1を生成します。
[黄色] lucas @ ubuntu:[赤]〜[通常] $
あなたはこれで本当に創造的になることができます。アイデアとして:
PS1='\e[s\e[0;0H\e[1;33m\h \t\n\e[1;32mThis is my computer\e[u[\u@\h: \w]\$ '
端末の上部にバーを配置し、ランダムな情報を表示します。 (最良の結果を得るには、alias clear="echo -e '\e[2J\n\n'"
も使用してください。)
エスケープシーケンスを取り除く
何かしたくないときに色が出力されない場合は、このsed
行を使用してエスケープシーケンスを削除します。
sed "s/\[^[[0-9;]*[a-zA-Z]//gi"
より本格的なエクスペリエンスが必要な場合は、\e[8m
で始まる行を削除して、端末にテキストを非表示にするように指示することもできます。 (広くサポートされていません。)
sed "s/^\[^[8m.*$//gi"
また、これらの^ [は実際のリテラル^ [である必要があります。 bashで^ V ^ [を押すことで入力できます。つまり、 Ctrl + V、 Ctrl + [。
私も使用します:
export TERM=xterm-color
export GREP_OPTIONS='--color=auto' GREP_COLOR='1;32'
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad
プロンプトをカラー化したい場合は、定義されたカラー変数が役立ちます。
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'
そして、私のプロンプトは次のようなものです:
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)は、現在のパスに関するバージョン管理情報を出力するpythonスクリプトをmy // sbinで呼び出しています。これには、Mercurial、Git、Svn、Cvsなどのサポートが含まれています。スクリプトには ここにソース があります。
これは私のプロンプト設定の 完全なソース です:
grep
とls
についてはすでに触れましたが、もっと多くの色を確認したい場合は Generic Coloriser を使用してください。最初の目的はログファイルを色付けすることでしたが、 ping
、traceroute
、gcc
、make
、netstat
、diff
、last
、ldap
、およびcvs
。
正規表現を知っていれば、簡単に拡張できます。 ps
とnmap
をリストに追加しました(grc
にアクセスした場合、これら2つのツールの.confファイルを共有できることをうれしく思います)
(ところで、synaptic
、pacman
を使用してインストールするには、 "grc"を検索するとうまくいく場合があります)
OSXとUbuntuの両方で作業できるように、何年にもわたって.bashrcを磨きました。
コンパクトな条件ステートメントを使用して、サイズを28行に縮小しました。
これにより、PS1プロンプトは次のようになります。
時間は赤、ユーザー名は緑、マシン名は水色、パスワードは濃い青、gitブランチは黄色です。
PS1プロンプトの機能:
_
が付いた上位3と下位3のディレクトリが表示されます(これはLOCATIONのpwd sed
の部分です)。私の.bashrc
ファイルの関連する行は次のとおりです。
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\]>'
利用可能な場合は色付きで、そうでない場合はエラーがないlsの場合(OSXなど):
ls --color=al > /dev/null 2>&1 && alias ls='ls -F --color=al' || alias ls='ls -G'
manページの色( 詳細 ):
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 -; }
grepの色(1;32
は明るい緑色です。他の色については、こちらの他の投稿を参照してください):
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'
GNU lsのその他の色:
# 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
インストールgrc
( Generic Colouriser )をエイリアスに追加します。
# 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
}
diffの色:関数の内容が多すぎます。スクリプトを使用し、rcファイルにエイリアスを付けます(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;
bashプロンプトの色:
# 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
太字/色付きのプロンプトを設定します。 cyberciti.biz および 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 \$ "
また、広くサポートされており、古い環境(FreeBSD4でも)で文字化けを印刷しない色設定を見つけることができました。TERM= vt100、xterm、xterm-colorの場合は問題なく動作するようです。 (ほとんどの場合)。私の.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
Lsコマンドの色を設定するための優れたツールがあります- http://geoff.greer.fm/lscolors/
ここではまだ言われていないこと:
編集の出力をgccで色分けするために、JohannesSchlüterによるcolorgccがあります。
ログを色付けするには、マルチテールがあります
標準出力を色分けするために、私はまとめて xcol
私はこれらをxcolツールから個人的に使用しています。
#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
これらの変数をスクリプトで次のように使用します
echo "${red}hello ${yellow}this is ${green}coloured${normal}"
私はこの小さな関数coloredEchoも好きです(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
これ以上のリンクを投稿することはできません
[〜#〜] zsh [〜#〜] とそのプラグイン oh-my-zsh をチェックして、最も強力なコンソール機能の1つを確認することをお勧めします。その1つは、端末のテーマを選択することです。これは私のテーマの例です... ttyの色はそれほど暖かくはありませんが、この写真のように同じです...
差分出力をカラーで表示するには、 colordiff を使用します。
Sudo apt-get install colordiff
Diff形式の出力をcolordiffにパイプします。
これには、-y
(並べて表示)などのdiffの代替形式が含まれます。
あるいは、スタンドアロンで呼び出された場合(パイプに何もパイプされていない場合)、「diff」のラッパーとして機能し、出力に色を付けます。したがって、これは私の.bashrcにあり、別名「diff」をcolordiffにしています。
# if colordiff is installed, use it
if type colordiff &>/dev/null ; then
alias diff=colordiff
プロンプトを設定するために、これを.bashrcファイルに入れました。
#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
これにより、次のようなプロンプトが表示されます。
user@Host(bash): ~/bin >
作業ディレクトリは緑色です。また、Sudo
を使用してシェルを実行しない限り、ユーザー名は太字とシアンです。その場合、ユーザー名( "root")は太字と赤で表示されます。
個人的には、書式設定制御文字を変数に格納しておくと、プロンプトを設定するためのコードが読みやすくなるので、とても気に入っています。また、プロンプトの編集も簡単になります。
私がtput
を使用する理由は、奇妙な033[01;31m\]
シーケンスよりも普遍的にサポートされることになっているためです。また、追加のボーナスとして、プロンプトでecho $PS1
を実行すると、判読できない制御シーケンスの代わりに、colorsの生のプロンプトが表示されます。
ルートシェルと非ルートシェルを簡単に区別するためのテキスト装飾(太字)。 Zshの場合:
if test $UID = 0
then PS1="%B${PS1}%b "
fi
Bashの場合:
if test $UID = 0
then PS1="\033[1m${PS1}\033[0m"
fi
同じことを考えただけです。私自身のアプローチがありますが、代替手段を探しています。
プログラム呼び出しの周りにbashラッパーを記述し、sed
を介してそれらの出力をパイプします。 sed
について私が気に入っているのは、各行がすぐに変更されてエコーされることです。ただし、ラップされたプログラムを呼び出すたびにsed
コードが解析およびコンパイルされるのが嫌いです。
たとえば、これはip
の出力に色を付けるために行うことです。
#
# 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'
コマンドラインでファイル名の色付けにmy cfを使用できます。これは、パイプ経由で機能するawkベースのクイックカラーライザーです。TruecolorsRGBでファイル名に色を付けます。
鮮やかな色のデフォルト設定があり、lsとは異なり、新しい色を追加してもパフォーマンスが低下することはありません。 (lsは、ミスごとにLS_COLORS文字列全体をスキャンする必要があります)。
ソラリゼーションは便利だと思います。多くのアプリケーションで均一な色を使用した、きちんとしたプロジェクトです。
http://ethanschoonover.com/solarizedhttps://github.com/altercation/solarized
コマンドの出力に色を付けるための優れた汎用Pythonツールは ' colout 'です。
Nグループの正規表現を指定し、その後にN色のコンマ区切りリストを続けます。グループに一致するテキストは、対応する色で表示されます。
したがって、たとえば、いくつかのテスト出力を見ている場合:
_python -m unittest discover -v
_
それからあなたはそれを小ぎれいにすることができます:
_python -m unittest discover -v 2>&1 | colout '(.*ERROR$)|(.*FAIL$)|(\(.*\))' red,yellow,black bold
_
私の正規表現が3つのグループ(括弧)に続いて3つの色(およびオプションで3つのスタイル)を持っている方法を確認します。 、濃い灰色で表示されます。)
Python呼び出しの最後に_2>&1
_を追加する必要があったことにも注意してください。これは、unittestの出力がstderrにあるため、パイプで接続できるようにstdoutに転送したためです。 coloutに。
これは一般的に使いやすいので、新しいcolout呼び出しをその場で作成し、コマンドライン履歴から再利用または変更することがよくあります。
唯一の欠点は、スタンドアロンの実行可能ファイルではなく、Pythonパッケージとして提供されることです。そのため、pipまたは_Sudo python setup.py install
_を使用してインストールする必要があります。
スクリプト出力の色付けにも役立つプロジェクトを試すことができます。その名前付きのScriptEchoColorは、ソースフォージで作成できます。 http://scriptechocolor.sourceforge.net/
例:
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
自動カラーは設定可能です。
これはそれを使った例です:
カラーラッパー を使用します。
cwは、GNU/linuxの一般的なUNIXベースのコマンド用の非侵入型リアルタイムANSIカラーラッパーです。 cwは実行されているコマンドの環境をシミュレートするように設計されているため、ユーザーがシェルで「du」、「df」、「ping」などを入力すると、定義に従ってリアルタイムで出力に自動的に色が付けられます。必要なカラーフォーマットを含むファイル。 cwは、ワイルドカード一致のカラーリング、トークン化されたカラーリング、ヘッダー/フッター、ケースシナリオのカラーリング、コマンドラインに依存する定義のカラーリングをサポートしており、50以上の既成の定義ファイルが含まれています。
ほぼシームレスですが、インタラクティブシェルのpsがパイプ内のpsと比較して異なる出力を返すことがわかりました。
私と同じようにvim
をカラフルにしたい場合は、次の2つの手順に従うことをお勧めします。
リンクの主な手順:
コマンドを入力して〜/ .vimrcファイルを編集します:vi〜/ .vimrc
次のオプションを追加します:構文on
ファイルを保存して閉じます
Vimコマンドを実行してテストします:vim foo.sh
私の最近の出版物 of ta
またはtextattr、ライブラリ、およびコマンド-を謙虚に宣伝したい人間が読める形式の仕様をANSIエスケープコードに変換することで、プログラムの端末出力を美しくするために色と属性を追加することを目的としたラインツール。
例えば:
echo "The Git repo $(ta yellow)${CUR_REPO}$(ta off) is $(ta green)up-to-date$(ta off)"
またはさらに短い:
echo "The Git repo $(ta y)${CUR_REPO}$(ta f) is $(ta g)up-to-date$(ta f)"
または代替:
tawrite "The Git repo " @y ${CUR_REPO} @f " is " @g up-to-date @f "\n"
次のようなものになります:
現在、このライブラリは、C、C++、D、およびPython)の4つの言語から使用できます。
他のプログラムの出力を自動的に色付けしないことに注意してください。それはむしろ、乱用コードを覚える必要がないのを助けるユーティリティです。わかりやすい色の名前または覚えやすいrgb cmyk w(hite)(of)f略語。
詳細は textattr repo をご覧ください。
Macの場合、指定どおりに以下を使用できます ここ
if [ "$TERM" = xterm ]; then TERM=xterm-256color; fi
Bashを選択する場合は、 oh-my-bash をお勧めします。 zshを選択する場合は、 oh-my-zsh をお勧めします。どちらも、端末の色分けとさまざまな出力をサポートしています。