0%

iTerm2 + oh-my-zsh + agnoster 配置

Mac 系统自带的 Terminal 偶尔会崩溃一下,用起来很不舒服。查了些资料,发现很多人都推荐使用 iTerm2,配合 oh-my-zsh 和 agnoster 主题使用。尝试了一下,效果确实还可以。

iTerm2

iTerm2 是对 Mac 自带的 Terminal 的扩展。不过我使用 iTerm2 主要是受够了 Terminal 动不动就要崩溃一下的问题。

iTerm2 安装很容易,直接到 官网 下载安装包安装即可。

默认进入的路径可以在 PreferencesProfiles 选项卡中设置:

iTerm Color Schemes

iTerm2 自带的配色有限,iTerm Color Schemes 提供了大量的配色方案。

将 iTerm Color Schemes 代码下载好之后,在 iTerms 中键入 ⌘+i,调出配置窗口。然后进入 Colors 选项卡,点击 Color Presets 选择 Import

然后进入下载好的 iTerm Color Schemes 代码文件夹的 schemes 目录,找到你想要的 ``.itermcolors导入即可。我比较喜欢的是Gruvbox Dark` 配色。

选好配色之后只会在当前活动的 iTerm2 窗口生效,如果要全局生效,需要在配置窗口的 Gernal 选项卡中点击 Copy Current Settings to Selected Profile 按钮:

oh-my-zsh

oh-my-zsh 为 zsh 提供很多的插件和模板,使用起来会更舒服。

oh-my-zsh 的 官方仓库 有更详细的介绍。

官网给出了三种安装方法,如果因为网络原因安装不成功,可以下载 git 仓库,然后手动执行 tools/install.sh 安装。

方法 命令
curl sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
wget sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
fetch sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

安装成功后,终端就变得更多彩了:

agnoster

oh-my-zsh 默认的主题是 robbyrussell,我们可以替换成各种自己喜欢的主题。可以在 官方截图 预览这些主题,然后找到自己喜欢的设置。

比如我想把主题设成 agnoster,只需修改 ~/.zshrc 中的配置即可:

执行 .zshrc 生效配置:

1
source ~/.zshrc

然后就遇到了问题,乱码了:

这是因为模板中使用了非 ascii 编码的文字,而终端的字体不能将其识别出来。那就安装一个支持非 ascii 编码的字体呗。我用的是 Powerline fonts,按照官网的方法一步一步执行即可:

1
2
3
4
5
6
7
8
# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts

安装字体为 Meslo LG L DZ for PowerlineLMS 分别对应字体的

同样需要在 General 选项卡中点击 Copy Current Settings to Selected Profile 按钮全局生效:

现在已经基本正常显示了,美中不足的是主机名和路径过长,看起来不是很舒服:

编辑主题的配置文件 ~/.oh-my-zsh/themes/agnoster.zsh-theme

1
vim ~/.oh-my-zsh/themes/agnoster.zsh-theme

prompt_dir 函数中的 prompt_segment blue $CURRENT_FG '%~' 修改为 prompt_segment blue $CURRENT_FG '%c’,这样只会显示最外层的路径:

然后将 prompt_context 中的 prompt_segment black default "%(!.%{%F{yellow}%}.)%n@%m” 修改为 prompt_segment black default "%(!.%{%F{yellow}%}.)%n

执行 .zshrc 生效配置:

1
source .zshrc

就配置完成了: