GNOME Terminal本來(lái)就支持256色,不過(guò)也許是為了最大兼容,它并沒(méi)有設(shè)置環(huán)境變量來(lái)聲稱自己支持。所以,只需要 export TERM=xterm-256color 就能讓命令行程序知道終端支持256色了。把它加進(jìn)你的 .bashrc 或者 .profile ,打開(kāi)一個(gè)新 Bash 或者新 session 看看你的終端程序(比如 vim )等等是不是顏色豐富了一些呢?
另外,如果你使用 tmux (byobu),可以修改你的 .tmux.conf 文件( byobu 則是 .byobu/.tmux.conf ),讓 screen/tmux 會(huì)話也更漂亮一些:
set -g default-terminal "screen-256color"
不過(guò)等等!修改 TERM 變量其實(shí)是一件很危險(xiǎn) + tricky 的事情,尤其當(dāng)你使用 screen/tmux 之類東西的時(shí)候(參見(jiàn) tmux FAQ )……而且,你很有可能使用不止一種終端模擬器/tty,非 GNOME Terminal 也許就不支持256色,甚至壓根不是 xterm 系,這樣設(shè)置 TERM 可能導(dǎo)致 terminfo 出錯(cuò)。
折騰了很久(期間順便弄清楚了這幾個(gè)配置文件分別是在什么時(shí)候、什么情況下以什么順序加載)。最后挑選了一個(gè)最佳方案,即在 .bashrc 中加入這一段:
if [[ ($COLORTERM == gnome-terminal || $(cat /proc/$PPID/cmdline) == *gnome-terminal* )
$TERM != screen* ]]; then
export TERM=xterm-256color
fi
如此便僅在 GNOME Terminal 、且不在 screen/tmux 會(huì)話中時(shí)設(shè)置為 xterm-256color 。此外,如果你有使用一些快捷鍵等方式快速啟動(dòng) Byobu/screen/tmux ,那么要注意檢查一下快捷鍵所對(duì)應(yīng)的命令應(yīng)該類似: env TERM=xterm-256color byobu (這類直接調(diào)用一般不會(huì)執(zhí)行 .bashrc )。(事實(shí)上, Archlinux 的 byobu 包中帶的 byobu.desktop 的啟動(dòng)參數(shù)正是如此。)
最后上張圖: