问题列表
1.终端如何支持显示彩色
现代终端基本上都已经支持彩色显示了。【8色的显示屏是什么时候发明的?】 您可以在bash下用这段来试试:<coolcode>
echo -e “\033[40;32mcolored text\033[0;0m"
</coolcode>
如果这里出来的是彩色文字,那就说明您的终端是支持彩色显示的。如是没有出来彩色文字,那就,改您的终端类型。一般情况下您的终端软件可选的有vt100,vt102,vt220,vt320,linux,xterm等几种。我一般选linux.
2.终端颜色和颜色表:
要在终端中显示彩色文字,需要这样输出<coolcode>
ESC[attr;frontcolor;backgroundcolor;m
要加彩色的文字。
</coolcode>
ESC是ESCAPE键,它的ASC码是十进制的27,八进制的33.所以我们用echo -e "\033..."来输入。attr是要给文字设置的属性代号,frontcolor是文字颜色代号,backgroundcolor是文字背景色代码。这些代号及意义如下:
<coolcode>
前景 背景 颜色
---------------------------------------
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
代码 意义
-------------------------
0 OFF
1 高亮显示
4 underline
5 闪烁
7 反白显示
8 不可见
</coolcode>
2.PS1,ls ,grep 如何加彩色
PS1是bash一个特殊的变量,用来指定提示符。我们只要修改它的值就可以指定提示符如何显示。在这里\h表示主机名,\u表示当前用户,\w表示当前目录。我的设置是:
<coolcode>export PS1="\[\e[36;1m\]\u@\[\e[32;1m\]\H>:\w>\[\e[0m\]“</coolcode>
这里bash的提示符已经变成彩色了,但是ls的输出还不是彩色的。也很简单,man一下就知道了,在linux下,
<coolcode>alias ls=”ls –color=auto”</coolcode>就行了。在FreeBSD下,<coolcode>alias ls=”ls -G”</coolcode>即可。
grep也是支持彩色的:
<coolcode>
alias grep=”grep –color=auto”
</coolcode>
好了,现在我们可以把~/.bashrc文件 改一下:
<coolcode>
export PS1=”\[\e[36;1m\]\u@\[\e[32;1m\]\H>:\w>\[\e[0m\]”
alias ls=”ls –color=auto”
alias grep=”grep –color=auto”
</coolcode>
2.svn diff怎么加彩色:
我写了一个脚本,放在http://xurenlu.googlecode.com/files/svncolor.py这里。只需要svn diff|python svncolor.py即可把svn diff的结果转成彩色的。
3.git diff怎么加彩色
git diff加颜色非常简单:修改.git/config,加上
<coolcode>
[diff]
color = auto
</coolcode>
4.vim 怎么支持彩色
非常简单,如果是php文件:
<coolcode>
:set ft=php
:set syntax
</coolcode>
就行了。
6.怎么去彩色
为什么要去颜色呢,因为有时候我们需要把一些输出重定向到vim中间,这时在vim中会出现很多控制字符。所以我们要再转成黑底白字。
我这里也有一个脚本。
<coolcode>
#!/usr/bin/python
import sys,re
PESC=chr(27)
nocolor_re=re.compile(PESC+’\[[\d\;]+m’)
if __name__==”__main__”:
while(True):
line=sys.stdin.readline()
if not line: break
line=line.replace(”\n”,”")
print nocolor_re.sub(”",line)
</coolcode>