Mac 终端美化

Mac 默认的终端 terminal.app 不进行配置的话,非常不友好,即没高亮又没提示。 配置以后就不一样了,比如这样:

zsh

shell 的类型有很多种,MacLinux 下默认的是 bash,虽然 bash 的功能已经很强大,但对于以懒惰为美德的程序员来说,bash 的提示功能不够强大,界面也不够炫,并非理想工具。而 zsh 的功能极其强大,上面这些 bash 没有的功能它都有。

安装

查看已安装的 shell

1
cat /etc/shells 

Mac 下已经安装好了 zsh, 如果没有安装或者想安装最新的版本,可以通过 brew 安装:

1
2
zsh --version
brew install zsh

关于 brew 的使用请参考 Mac 下 Homebrew 的安装与使用

切换 shell 为 zsh

查看当前使用的 shell:

1
echo $SHELL 

切换 shell:

1
chsh -s /bin/zsh

切换之后需要退出用户重新登录。

oh-my-zsh

zsh 虽然强大,但是配置很复杂,起初只有极客才在用。直到有了 oh-my-zsh ,只需要简单的安装配置就可以使用 zsh 的各自功能。

安装 oh-my-zsh

项目地址

1
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

Mac 上面默认是没有安装 wget 的,鉴于该命令比较常用,推荐还是安装一下。

1
brew install wget

当然你也可以把这个 安装的 SH 文件 下载到本地,然后安装:

1
sh install.sh

安装成功后会出现:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
  ____  / /_     ____ ___  __  __   ____  _____/ /_  
 / __ \/ __ \   / __ `__ \/ / / /  /_  / / ___/ __ \ 
/ /_/ / / / /  / / / / / / /_/ /    / /_(__  ) / / / 
\____/_/ /_/  /_/ /_/ /_/\__, /    /___/____/_/ /_/  
                        /____/                       ....is now installed!
Please look over the ~/.zshrc file to select plugins, themes, and options.

p.s. Follow us at https://twitter.com/ohmyzsh.

p.p.s. Get stickers and t-shirts at http://shop.planetargon.com.

这时在打开终端,就已经可以看的高亮了。

添加 source ~/.bash_profile

zsh 默认是加载 ~/.zshrc , 默认是没有加载用户环境变量的 需要在 ~/.zshrc 中添加一行 source ~/.bash_profile 之后,每次启动控制台窗口都会去加载用户环境变量。

配置插件

oh-my-zsh 同样也支持诸多插件,比如默认开启的 Git 插件就可以十分清晰的显示出当前代码仓库里与远程仓库是否同步,以及最新同步日期等:

这里我推荐一个叫做 zsh-autosuggestions 的插件,利用之我们可以实现命令自动补全:

安装方法也很简单,在 macOS 下利用 Homebrew

1
brew install zsh-autosuggestions

然后将下面加入 .zshrc:

1
source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh

就是用你的文本编辑器,比如 Sublime TextVSCodeVim 等等,打开位于根目录的 .zshrc 文件然后将上面那行放到文件最后面就好。

重启终端,就能看到如图效果啦!

主题美化

oh-my-zsh 有着大量的主题,你可以在这里 主题预览 找到所有支持的主题和他们的截屏。

这里我以 avit 主题为例,介绍如何修改 .zshrc 文件来配置我们的主题:

选择你最喜欢的文本编辑器打开位于根目录的 .zshrc 文件,在里面找到叫做 ZSH_THEME 的一行,将后面「“ … ”」里面的内容换成 avit,之后重启终端即可。

安装 Spaceship Prompt

提供了更加丰富的 ZSH 展现形式的 Spaceship Prompt 是 ZSH 的另一个拓展,并且它可以与 oh-my-zsh 兼容。项目地址位于 https://github.com/denysdovhan/spaceship-prompt

比如我的 hexo 文件仓库里,利用强大的 Spaceship Prompt 可以直接显示出我的环境 Node 版本,Git 版本等等,十分健壮:

安装特殊字体

在安装之前,由于 Spaceship Prompt 需要特殊的符号来显示开发环境版本信息(比如 node, go 等)所以需要安装特殊字体:Powerline Fonts,可以直接通过这样的方式来安装:

首先安装最新版本的 Python:

1
brew install python

然后安装 Powerline Fonts:

1
pip install --user powerline-status

最后在 Hyper 终端的配置文件 .hyper.js 中修改字体,将 fontFamily = '...' 一项引号内添加「Meslo LG M for Powerline」或者其他 Powerline 字体,重启终端便可生效。

安装 Spaceship Prompt

首先执行命令将源码克隆至本地:

1
git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt"

然后将 spaceship.zsh-theme 链接到 oh-my-zsh 的主题文件夹下:

1
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"

最后像换主题一样,在 .zshrc 中修改 ZSH_THEME="spaceship" 就大功告成!

Terminal 配色

如果你觉得上面的主题配置比较麻烦,推荐你使用 Terminal 配色就可以达到漂亮的美化作用。你可以搜索关键字 iTerm2-Color-Schemes 并访问 https://github.com/mbadolato/iTerm2-Color-Schemes 进行配置。