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

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

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

2015101711

2015101712

接下来开始讲解定制步骤

首先是自定义提示符:

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

在终端内输入:
[code lang=”bash”]
nano ~/.bash_profile
[/code]

在里面添加:
[code lang=”bash”]
export PS1="\u@\h:\w $ "
[/code]
然后保存退出,重新打开终端,确认提示符以及改变。

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

或者直接将 “\u@\h:\w $ “ 部分替换成:
[code lang=”bash”]
"\[\e[0;31m\]\u@\h\[\e[0;36m\]:\[\e[0;34m\]\w \[\e[0;37m\]$ \[\e[m\]"
[/code]

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

有些时候,打开终端后,/h 部分会显示为「bogon」,意思是虚拟。这是因为DNS无法解析主机名称导致的。如果你想自定义 /h 的显示效果的话,可以使用下面两种方法:

修改DNS解析地址为 8.8.8.8,这样终端里的 /h 部分就会显示为你的共享主机名称

201510170

不想修改DNS解析地址的话,也可以通过手动设置名称来自定义,只需要在终端里执行一句代码即可(yourname 字段修改为你想呈现的内容):
[code lang=”bash”]
sudo scutil –set HostName yourname
[/code]

彩色化 ls 的输出结果

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

安装与配置 Coreutils:

通过 Homebrew 安装 Coreutils
[code lang=”bash”]
# 先安装 Homebrew 必须装有 Xcode 安装过 Homebrew 的可以忽略下面这步
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
# 然后安装 Coreutils 它的源码是用xz格式压缩的 所以安装xz才能解压
brew install xz coreutils
[/code]

2015101713

生成颜色配置文件

在终端输入下面的代码
[code lang=”bash”]
gdircolors –print-database > ~/.dir_colors
[/code]

~/.bash_profile 开启颜色配置文件

先通过终端进入配置文件
[code lang=”bash”]
vi ~/.bash_profile
[/code]

然后进入复制粘贴下面的代码
[code lang=”bash”]
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
[/code]

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定义。
[code lang=”bash”]
alias grep=’grep –color’
alias egrep=’egrep –color’
alias fgrep=’fgrep –color’
[/code]

Vim语法高亮

打开终端,输入
[code lang=”bash”]
vim ~/.vimrc
[/code]

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

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

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

发表评论

邮箱地址不会被公开。 必填项已用*标注