一直听闻『iTerm2』号称是 macOS 平台下的第一终端,今日浅尝一下。
本文仅仅是我个人的配置笔记,而不是关于『iTerm2』的推荐,所以如果你问我为什么要用『iTerm2』而不是其他终端工具,那么你大概率并不真正的需要它,因为我也是。
不过你倒是可以前往官网看看它有哪些功能,也许就会有答案。
接下来开始配置。
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
我们平时写代码习惯了代码提示,那么终端为什么不能有一个?这个插件能在你打字时根据历史记录和完成情况建议命令。
同样使用『Homebrew』安装:
➜ brew install zsh-autosuggestions
将路径追加到 .zshrc
文件末尾:
source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
与平时我们在 IDEA 使用 Tab
或者 Enter
键接受代码提示不同,该插件使用方向键 →
或者 End
来接受命令建议。
Status Bar
我习惯在运行任务时关注系统的资源占用情况,『iTerm2』允许配置 Status Bar。
根据自己的需要配置即可。
最终效果
其实可以配置的项目很多,我只是把我习惯使用的记录下来,其他的就留给你们自行发挥吧。
注意事项
配置完之后你可能会发现之前的环境变量失效了,因为 .zshrc
已被『Oh My Zsh』更改,需要重新配置。
具体配置方法之前在『macOS 环境变量配置』一文已经讲过。
如果你已经忘记之前配置过什么环境变量也不要慌,『Oh My Zsh』贴心地给我们生成了一个 .zshrc.pre-oh-my-zsh
文件,里面保存着之前配置过的内容,复制到 .zshrc
即可。
另外,相关的配置也会影响到系统自带的『Terminal』,比如字体等,所以如果仍需使用『Terminal』,则需要参照上文『iTerm2』的配置在『Terminal』中也修改一下。