一直听闻『iTerm2』号称是 macOS 平台下的第一终端,今日浅尝一下。

本文仅仅是我个人的配置笔记,而不是关于『iTerm2』的推荐,所以如果你问我为什么要用『iTerm2』而不是其他终端工具,那么你大概率并不真正的需要它,因为我也是。

不过你倒是可以前往官网看看它有哪些功能,也许就会有答案。

iTem2

接下来开始配置。

iTerm2

如果你习惯使用『Homebrew』,那么最简单的方法是:

➜   brew install iTerm2  

不过我还是喜欢下载安装,官网也提供了安装包。

Oh My Zsh

现在 macOS 默认的 Shell 已经是 zsh 了,但是默认的 zsh 配置起来比较麻烦,而开源的『Oh My Zsh』提供了大量的插件和主题,帮你轻松解决。

通过 curl 安装:

➜   sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

也可以通过 wget 安装:

➜   sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

Powerline fonts

『Oh My Zsh』的一些主题使用了特殊字体,如果没有安装字体的话就会乱码,我们通过安装 Powerline 字体解决。

你可以直接去 Github 上手动下载安装,但命令的方式更加便捷。

下载:

➜   git clone https://github.com/powerline/fonts.git --depth=1

安装:

➜   cd fonts
➜   ./install.sh

清理一下:

➜   cd ..
➜   rm -rf fonts

如果你哪天不想用了,也可以用命令快速卸载:

➜   cd fonts
➜   ./uninstall.sh

安装完成后,在『iTerm2』中设置为对应的字体。

配置字体

Color Schemes

『iTerm2』内置了几套配色,可以直接设置。

内置配色

如你所见,它支持自定义配色。

不过你要是懒人伸手党,可以下载现成的配色方案。

iTerm2 Color Schemes

这是一套适用于大多数终端的颜色主题,内置了有将近 300 款配色。你可以在网站上挑选喜欢的配色单独下载,也可以打包下来慢慢挑选。

iTerm2 One Dark Theme

因为我的『Android Studio』配色是使用 One Dark,所以特意也导入了相同的配色到『iTerm2』中。

导入

下载的配色导入也很方便,在「Import」中选择对应的 .itermcolors 文件即可。

导入配色

主题

『Oh My Zsh』内置了大量主题,我们可以通过以下命令查看:

➜   ls ~/.oh-my-zsh/themes

但你肯定一脸懵逼,这么多主题,每个主题都长什么样?

可以进入『Oh My Zsh』项目 Wiki 查看。

选到喜欢的主题后,记住名字,再到 .zshrc 文件进行修改。如果你习惯使用命令可以直接 vim,否则直接打开文件修改或许是一个不容易出错的方式。

找到 ZSH_THEME,修改为你喜欢的主题,比如:

ZSH_THEME="agnoster"

如果你喜欢几个主题,那么可以修改 ZSH_THEME_RANDOM_CANDIDATES 让它随机切换:

ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )

如果你对所有主题都很喜欢,那就让它随机吧:

ZSH_THEME="random"

如果内置的主题不合你心意,官方也收录了一些第三方的主题,同样可以在项目 Wiki 中找到,根据喜好安装即可。

插件

zsh-syntax-highlighting

默认的终端纯色文字太影响阅读,这个插件能为我们提供语法高亮。它可以在 zsh 的提示符下将命令高亮显示在交互式终端中。这有助于在运行命令前对其进行审查,特别是在捕捉语法错误方面。

通过『Homebrew』安装:

➜   brew install zsh-syntax-highlighting 

安装完成后,终端会显示安装路径,将其复制并追加到 .zshrc 文件末尾:

source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

zsh-autosuggestions

我们平时写代码习惯了代码提示,那么终端为什么不能有一个?这个插件能在你打字时根据历史记录和完成情况建议命令。

zsh-autosuggestions

同样使用『Homebrew』安装:

➜   brew install zsh-autosuggestions 

将路径追加到 .zshrc 文件末尾:

source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh

与平时我们在 IDEA 使用 Tab 或者 Enter 键接受代码提示不同,该插件使用方向键 或者 End 来接受命令建议。

Status Bar

我习惯在运行任务时关注系统的资源占用情况,『iTerm2』允许配置 Status Bar。

Status Bar Enabled

根据自己的需要配置即可。

Status Bar 配置项

最终效果

最终效果

其实可以配置的项目很多,我只是把我习惯使用的记录下来,其他的就留给你们自行发挥吧。

注意事项

配置完之后你可能会发现之前的环境变量失效了,因为 .zshrc 已被『Oh My Zsh』更改,需要重新配置。

具体配置方法之前在『macOS 环境变量配置』一文已经讲过。

如果你已经忘记之前配置过什么环境变量也不要慌,『Oh My Zsh』贴心地给我们生成了一个 .zshrc.pre-oh-my-zsh 文件,里面保存着之前配置过的内容,复制到 .zshrc 即可。

另外,相关的配置也会影响到系统自带的『Terminal』,比如字体等,所以如果仍需使用『Terminal』,则需要参照上文『iTerm2』的配置在『Terminal』中也修改一下。