定制以及彩色化自己的 Mac OS X 终端

原文地址:http://chaishiwei.com/blog/247.html

虽然没有亲自体验过 Linux 系统下的终端程序,不过经常关注一些IT大牛的博客,看他们的代码截屏觉得各种华丽。于是就也想让自己的Mac终端看起来能「上的了台面」些。比如 ls 针对不同类型文件名称着色啊,内置 Vim 代码高亮啊之类等等。

以下是我定制完的 Mac终端 样子:

定制以及彩色化自己的 Mac OS X 终端_第1张图片

定制以及彩色化自己的 Mac OS X 终端_第2张图片

接下来开始讲解定制步骤

首先是自定义提示符:

Mac OS X 终端的默认提示符感觉又长又难辨认,那么是不是可以跟「网址缩短」服务那样,将默认的提示符改的简洁些呢。答案当然是 So easy!

在终端内输入:

1
nano ~/.bash_profile

在里面添加:

1
export PS1= "\u@\h:\w $ "

然后保存退出,重新打开终端,确认提示符以及改变。

如果想提示符带颜色,可以参考 这篇文章 和 那篇文章 。

或者直接将 “\u@\h:\w $ “ 部分替换成:

1
"\[\e[0;31m\]\u@\h\[\e[0;33m\]:\[\e[1;34m\]\w \[\e[1;37m\]$ \[\e[m\]"

保存后退出终端接着重新打开看看效果。

彩色化 ls 的输出结果

大致 Google 了下其他人的修改方法,发现使用 GNU Coreutils 替换 Mac 的 ls 命令的方式用的比较多,于是整理分享一下。

安装与配置 Coreutils:

通过 Homebrew 安装 Coreutils

1
brew install xz coreutils

注:Coreutils并不依赖于xz,但它的源码是用xz格式压缩的,安装xz才能解压。

生成颜色定义文件

1
gdircolors --print-database > ~/.dir_colors

在 ~/.bash_profile 配置文件中加入以下代码

1
2
3
4
5
if brew list | grep coreutils > /dev/null ; then
   PATH= "$(brew --prefix coreutils)/libexec/gnubin:$PATH"
   alias ls = 'ls -F --show-control-chars --color=auto'
   eval `gdircolors -b $HOME/.dir_colors`
fi

gdircolor 的作用就是设置 ls 命令使用的环境变量 LS_COLORS(BSD是LSCOLORS),我们可以修改 ~/.dir_colors 自定义文件的颜色,此文件中的注释已经包含各种颜色取值的说明。通常不需要另外修改默认定义好的文件颜色了,默认的配置里少了一些「码农专用」的文件颜色,我们可以补充进去:

# source code files
.pl 00;33
.PL 00;33
.pm 00;33
.tt 00;33
.yml 00;33
.sql 00;33
.html 00;33
.css 00;33
.js 00;33
.py 00;33
.html 00;33

最后关闭重新打开终端输入 ls 看下效果。

grep高亮显示关键字

在 ~/.bash_profile 配置文件中加上alias定义。

1
2
3
alias grep = 'grep --color'
alias egrep = 'egrep --color'
alias fgrep = 'fgrep --color'

Vim语法高亮

打开终端,输入

1
vim ~/.vimrc

往里头添加一句 syntax on 即可。

或者可以尝试下 Solarized 的 Vim 配色,更可以顺便把终端的皮肤也换成一样的风格。

Solarized 官网: http://ethanschoonover.com/solarized

你可能感兴趣的:(定制以及彩色化自己的 Mac OS X 终端)