终端二则
作者:郑凯
直到上周,我还一直以为终端只能有 16 色……因为当初用 SecureCRT 时,把终端类型挨个试了遍,只有“Linux”默认出来的是黑底,而用"XTerm"默认是白的(因为颜色方案是要自己选的),就给归类成“VT100”那类了。知道前几天才知道可以设成 256 色。只要在 .bashrc 里加这么一段就可以了
if [ "$TERM" == "xterm" ]; then
export TERM=xterm-256color
fi
在 VIM 中,就可以直接用数字颜色代码了,例如背景色不用纯黑而是略微的灰度:
:hi normal ctermbg=234
也许有人会说 GVIM 可以使用 24位色,但登录各种服务器还得 SSH
下面这个完整的颜色表出自 http://en.wikipedia.org/wiki/Xterm
在 tmux 中,需要在在启动的时候带上参数 -2
,或者在 ~/.tmux.conf
中设置
set -g default-terminal "xterm-256color"
但是颜色不能像 VIM 中那样直接用数字,要在数字前加 colour
例如我的状态行配置
set -g status-left " #[fg=colour123]#H "
set -g status-bg colour234
set -g status-fg white
前几天老同事尚北京跟我展示他的一个概念 cmdgame.com,给他提议仿终端的 Web 界面应该使用个等宽字体,突然就想到似乎可以用 Google Web Fonts,其中一种 Droid Sans Mono,在 14px 下看着还不错
(不同显示器不同系统可能看这张图片有很大偏差,建议去网站看)
感觉比我以前桌面用的 DejaVu Sans Mono 更舒服些,仔细比较了一下,DejaVu 的 x-height 略高,显得偏胖,此外 g
的写法也不同,我是喜欢 a
和 g
用印刷体,不是因为好看,是为了便于识别,像 Monaco 我慕名而装,却只用了五分钟就卸掉了,因为 o 和 a 长的太像,容易看花眼。但如果用作程序字体,Droid 有个巨大的瑕疵:数字 0 和字母 O 区分不明显,在找到更好的字体之前,先忍了。
这种字体也提供 ttf 文件下载供桌面使用,接受募捐,而我可耻的选择了免费下载。用了两年的 DejaVu,就这么被换掉了(更早用的是从 Linux Kernel 里扒出来的,Fixed 16)