让Mac OS X的终端多姿多彩

与 Linux 相比,Mac OS X 的终端总是欠缺些什么。对了,是色彩,Linux 的 ls 命令使用不同颜色区分各种文件类型,Vim 编辑器也支持语法高亮,而 Mac 终端却总是以黑白示人。其实,只要稍微做一些工作,Mac 的终端同样可以多姿多彩,请往下看。

彩色化 ls 的输出

Mac 中 BSD 的 ls 命令可以使用-G参数彩色化输出的文件列表,需要配置 LSCOLORS 环境变量定义颜色,具体配置方法可以输入man ls查看。

不过,我推荐安装 Linux 使用的 GNU Coreutils 替换 Mac 的 ls 命令,因为:

  • Coreutils 提供了配置工具,定义颜色代码更加方便;
  • Coreutils 包含的不仅仅是 ls,同时作为 Linux 用户,我更习惯于使用 GNU 的各种 shell 工具。

Coreutils 的安装与配置方法如下:

  1. 通过 Homebrew 安装 Coreutils
    brew install xz coreutils
    注:Coreutils 并不依赖于 xz,但它的源码是用 xz 格式压缩的,安装 xz 才能解压。

  2. 生成颜色定义文件
    gdircolors --print-database > ~/.dir_colors

  3. ~/.bash_profile配置文件中加入以下代码
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 自定义文件的颜色,此文件中的注释已经包含各种颜色取值的说明。

看看默认颜色的显示效果。

grep 高亮显示关键字

这个很简单,加上--color参数就可以了,为了使用方便,可以在~/.bash_profile配置文件中加上 alias 定义。

alias grep='grep --color'
alias egrep='egrep --color'
alias fgrep='fgrep --color'

Vim 语法高亮

在 Vim 中输入命令:syntax on激活语法高亮,若需要 Vim 启动时自动激活,在~/.vimrc中添加一行syntax on即可。

文章作者 明哥
文章地址 https://www.pvcreate.com/index.php/archives/92/
创建时间 2016-01-22
关注订阅 微信订阅号
开源项目 https://gitee.com/lookingdreamer
工具市场 https://gitee.com/lookingdreamer/SPPPOTools
MAC小技巧