macOS 配置 iTerm2 备忘

记录 macOS 配置 iTerm2 相关过程。本文的 iTerm2 和 zsh 配置部分,参考了 这篇博文;命令行前缀定制部分,参考了 这篇博文

安装 Homebrew

Homebrew 是 macOS 必备的软件包管理工具,类似于 apt-get。

安装命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

如果你访问 GitHub 不畅通,也可以试试使用国内的镜像源,例如 清华镜像源南大镜像源 等。

安装完成后,通过以下指令确定是否成功:

brew --version

安装 iTrem2

iTerm2 就是本文的主体了,它可能是 macOS 上最好用的终端。

可以通过官网下载页面进行安装(推荐);
或者通过 Homebrew 安装,执行以下指令(不推荐):

brew install --cask iterm2

配色主题

安装完成后,我们可以为自己的终端挑选一套配色。
按下 + , 组合键,打开首选项,选择 “Profiles” 选项卡,此页面记录着终端的各种配置,我们跳转到 “Colors” 配色方案页面。

这个页面可以用于调节终端的配色主题,右下角那个菜单可以让我们导入/导出配置文件:

其中预设的几种配色,我觉得都不满意。
可以通过这个网站从别人设计好的配色中挑选一套:https://iterm2colorschemes.com/ ,找到满意的配色后下载其配置文件。

我个人选用的是 Blazer 主题,下载其 .itermcolors 后缀的配置文件,存储在电脑上,然后从右下角那个 “Color Presets…” 中导入它并使用。

这个界面中,“Basic Colors” 可以指定终端背景颜色、粗体文字颜色、链接文字颜色、已选择文字颜色等,我的最终设置如图,其中设置了背景颜色 0e2132


修改了配色后,还可以对窗口进行定制化,切换到 “Windows” 选项卡,如图:

图中是我自己的配置,我开启了窗口的半透明,并调整了 15% 透明度以及 10% 背景模糊,设置了新窗口的大小,还可以自定义窗口标题。

安装和配置 oh-my-zsh

现在的 macOS 默认就是使用 zsh,我们只需要安装相关插件即可。
zsh 功能强大,配置多样,一般使用 oh-my-zsh 这个工具来管理其配置项。

对 oh-my-zsh 的第一个配置,就是更换主题,我使用名为 “agnoster” 的主题,它提供了对 Git 的更好的支持,只要终端位于 Git 目录中,便可以显示出便于阅读的符号。

安装 oh-my-zsh,执行以下命令:

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

然后,编辑 zsh 的配置文件:

open ~/.zshrc

找到以 “ZSH_THEME” 开头的内容,修改为:

ZSH_THEME="agnoster"

最后重新加载 zsh 配置即可:

source ~/.zshrc

配置此主题后,进入 Git 目录,或者是我们的指令运行成功 or 失败,都会以 icon 的形式显示在终端中。
不过,这通常要配合特定的字体,下文中会有讲到,请继续完成配置。

oh-my-zsh 安装插件

我们还要安装两个插件:

  • zsh-completions(补全),这个插件可以为我们提供命令补全功能,提高效率;
  • zsh-autosuggestions(建议),它可以提供历史命令提示,让频繁使用的指令可以瞬间完成。

你可以阅读其官方文档寻找安装方式。
以下给出我使用的安装步骤:

运行以下指令,把插件代码克隆到 zsh 的插件目录下:

git clone git://github.com/zsh-users/zsh-completions $ZSH_CUSTOM/plugins/zsh-completions
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

然后,编辑 zsh 的配置文件:

open ~/.zshrc

找到 “plugins=(...)” 格式的插件配置,把这些插件添加进去:

plugins=(gits zsh-autosuggestions)

这里不需要添加 zsh-completions 到插件列表里,而是另外配置:找到 “source "$ZSH/oh-my-zsh.sh"” 这一行语句,然后在这一行语句之前,插入以下内容:

fpath+=${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions/src

最后重新加载 zsh 配置即可生效:

source ~/.zshrc

此外,自动建议插件提供的历史指令显示太过于暗淡,如果你的终端背景颜色比较深,那么文字可能很难看清;
通过以下指令打开自动建议插件的配置文件:

open -a TextEdit $ZSH_CUSTOM/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh

在其最后一行之前,插入以下内容:

ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=242'

其中的 “fg=242” 这个数字可以随便调,最高 255,数值越大文字便越亮。


自动输入建议插件的使用方式为,只要你输入了一段历史输入过的命令的前半段,就会在后面用暗淡的颜色帮你补全完整的命令,使用方向键 快速输入:


自动补全插件的使用方式为,只要你输入了指令,按下 Tab 键就会列出一个列表,表示可以使用的建议项目,具体而言:如果你的目录没打完,按下 Tab 会列出可用的目录;如果你的参数没打完,先打出一个横杠 - 并按下 Tab,则会列出所有可用的参数:

补全参数

补全输入

字体修改

默认的字体的 “功能性” 不强,所以一般会换用专为终端设计的字体,这是一种名为 “Powerline” 类型的字体,它能提供更好的显示。

可以在 这个仓库 中找到 Powerline 字体。
我使用 “Meslo LG L DZ for Powerline” 这一款字体,在这个仓库的 这个目录 中可以找到它的字体文件,下载后可以在系统中直接安装。

切换到 “Profiles / Texts” 选项卡,在此页面对字体进行配置,如下图:

这张图中的配置比较重要,配置时请尽量完全匹配。

配置完成后,将终端进入到一个 Git 仓库中,应该显示成这样:

可以看出,命令行标记、目录、Git 分支之间,使用了一种箭头形状的比背景,看起来非常清晰。

未提交的 Git 仓库:

未提交的 Git 仓库,其分支名会变为黄色,还会有提交变更的 icon。

执行失败的指令,最左侧会出现一个叉号:

如果上面都能如图正常显示,则表示配置正确。
这个箭头形状的符号,就是 “Powerline glyphs”,也就是上面的 “Use built-in Powerline glyphs” 配置项,必须开启它。

如果你对字号、间距等不满意,也可以在这个页面调整。

修改命令行前缀

你可能已经看到了,我的命令行前缀不是自己的用户名,而是一个苹果标志 “``”,实际上 zsh 可以自行定制命令行前缀的显示,甚至可以修改目录的显示方式,做到只显示最尾部的目录名。

此处给出我的做法:
首先编辑配置文件:

open -a TextEdit ~/.oh-my-zsh/themes/agnoster.zsh-theme

然后,全局搜索以下内容:

# Context: user@hostname (who am I and where am I)

找到对应代码 if 语句内的语句,原始是这样的:

prompt_segment black default "%(!.%{%F{yellow}%}.)%n@%m"

我们将它注释掉,自己添加一条:

prompt_segment black default ""

这样就完成了,执行以下命令接受:

source ~/.zshrc