本文介绍如何把 macOS 默认终端换成一个功能更丰富、外观更合自己心意的开发环境。
先安装
iTerm2
,再用
Oh My Zsh
为终端添加功能,最后配置喜欢的主题和字体。
首先安装比默认终端功能更多的
iTerm2
。
iTerm2 提供分屏、自动补全、搜索等实用功能,是很多 Mac 开发者常用的工具。
brew install --cask iterm2
安装完成后,就可以用 iTerm2 代替默认终端。
接下来开始配置终端。
美化终端很大程度上是在配置名为 Shell 的程序。
Shell 会解释我们输入的命令,让计算机的操作系统能够执行。
较新的 macOS 默认使用
zsh
,旧版 macOS 的默认 Shell 则可能是 bash。
先运行下面的命令查看当前使用的 Shell。
如果结果不是 /bin/zsh,可以执行以下命令将默认 Shell 改为 zsh。
zsh 比传统的 bash 提供更多功能,扩展也更方便,因此更适合按个人需求配置终端。
现在可以开始定制终端了。
Oh My Zsh
是一个帮助管理 zsh 配置的框架。
它让安装和应用插件、主题变得简单,在开发者中很受欢迎。
将以下命令复制到终端并运行,即可安装。
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Oh My Zsh
安装完成后,关闭终端再打开。
可以看到提示符,也就是命令输入行开头的部分,外观与之前略有不同。
接下来可以在
~/.zshrc 中管理终端的 Shell 配置。
用编辑器打开该文件,会发现其中已经有一些配置项。
插件
是 Oh My Zsh 的重要功能。
通过插件,可以为终端添加需要的功能。
下面安装两个常用的插件。
1. 语法高亮:zsh-syntax-highlighting 🔗
这个插件会用颜色提示输入的命令是否有效。
可识别的命令显示为绿色,找不到的命令显示为红色,有助于立即发现拼写错误。
先运行以下命令安装插件。
brew install zsh-syntax-highlighting
安装后,还需要配置 Oh My Zsh,让它加载这个插件。
输入以下命令打开
~/.zshrc。
在文件末尾添加下面这一行。
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
保存文件后,在终端执行以下命令,或重新启动终端。

启用 zsh-syntax-highlighting 后的效果
试着输入 lss 这样不存在的命令,可以看到它显示为红色。
2. 自动补全建议:zsh-autosuggestions 🔗
这个插件根据以前输入过的命令,以灰色文字显示补全建议。
如果建议正是你想要的,按右方向键(→)或 End 就能接受它。
这样就不必重新输入冗长、复杂的命令。
安装步骤与上面的插件类似。
先运行以下命令安装。
brew install zsh-autosuggestions
然后再次打开 ~/.zshrc,添加下面这一行。
source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
在终端运行 source ~/.zshrc,或重新启动终端,即可启用插件。

按右方向键接受自动补全
功能配置完成后,接下来调整终端的外观。
Oh My Zsh 自带许多主题。
这里应用其中一个常见主题
agnoster
。
打开
~/.zshrc,找到
ZSH_THEME,按以下方式修改。
保存文件并重新启动终端,可以看到提示符出现了不同颜色和符号。
不过,部分符号可能显示不正常。
这是因为普通字体不包含该主题使用的特殊符号。

特殊符号显示异常
要解决这个问题,需要安装包含特殊符号的
Powerline 字体
或
Nerd Font
。
下面通过 Homebrew 安装开发者常用的
Fira Code Nerd Font
。
也可以考虑
D2Coding↗ 等其他字体。
brew tap homebrew/cask-fonts
brew install --cask font-fira-code-nerd-font
字体安装完成后,最后在 iTerm2 中应用它。
- 打开 iTerm2,用
Command + , 快捷键打开设置。
- 进入
Profiles
选项卡,在左侧选择当前使用的配置。
- 在右侧选择
Text
选项卡。
- 在
Font
区域,把字体改为 FiraCode Nerd Font。

字体设置
现在回到终端,之前显示异常的字符就会呈现为清晰的图标。
本文介绍了用 iTerm2 和 Oh My Zsh 定制 macOS 终端的全过程。
除了这次介绍的内容,Oh My Zsh 还有许多其他主题与插件。
可以根据自己的开发习惯选择并应用合适的主题和插件。