高效美观的iTerm2配置教程

因为 powerline 以及 homebrew 均需要安装 command line tool,网络条件优越的同学在执行本文下面内容之前,可以先安装 XCode 并打开运行一次(会初始化安装 components),省去以后在 iterm2 中的等待时间。

另外,git 也是必要的,各位可以自行下载安装,除了网络没有任何坑:

https://git-scm.com

介于此,本文默认各位同学已经安装了 git 环境和 xcode(command line tools),遇到提示找不到 git 命令或需要安装 command line tool 的地方,文中不再赘述了。

下载 iTerm2

可以直接去官网下载:https://www.iterm2.com/

安装完成后,在 / bin 目录下会多出一个 zsh 的文件。

Mac 系统默认使用 dash 作为终端,可以使用命令修改默认使用 zsh:

chsh -s /bin/zsh

如果想修改回默认 dash,同样使用 chsh 命令即可:

chsh -s /bin/bash

OK,这就是 iTerm2 初始的样子,下面我们来美化它,让它变得更好用!

安装 Oh my zsh

安装方法有两种,可以使用 curl 或 wget,看自己环境或喜好:

# curl 安装方式
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
# wget 安装方式
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

安装命令和安装完成后的截图:

oh-my-zsh 开源地址:https://github.com/robbyrusse...

安装 PowerLine

powerline 官网:http://powerline.readthedocs....

安装 powerline 的方式依然简单,也只需要一条命令:

pip3 install powerline-status --user

# 或者可以试试

pip install powerline-status --user

没有安装 pip 的同学可能会碰到 zsh: command not found: pip。

使用命令安装 pip 即可:

sudo easy_install pip

安装后再次执行安装 powerline 的命令即可。

安装 PowerFonts

安装字体库需要首先将项目 git clone 至本地,然后执行源码中的 install.sh。

在你习惯的位置新建一个文件夹,如:~/Desktop/OpenSource/

在此文件夹下执行 git clone 命令:

# git clone
git clone https://github.com/powerline/fonts.git --depth=1
# cd to folder
cd fonts
# run install shell
./install.sh

安装好字体库之后,我们来设置 iTerm2 的字体,具体的操作是 iTerm2 -> Preferences -> Profiles -> Text,在 Font 区域选中 Change Font,然后找到 Meslo LG 字体。有 L、M、S 可选,看个人喜好:

安装配色方案

配色方案在使用 VIM 或 Colorful Log 时会变得非常有用,同时界面也不会一片黑绿一样死板。

同样使用 git clone 的方式下载源码进行安装:

cd ~/Desktop/OpenSource
git clone https://github.com/altercation/solarized
cd solarized/iterm2-colors-solarized/
open .

在打开的 finder 窗口中,双击 Solarized Dark.itermcolors 和 Solarized Light.itermcolors 即可安装明暗两种配色:

再次进入 iTerm2 -> Preferences -> Profiles -> Colors -> Color Presets 中根据个人喜好选择这两种配色中的一种即可:

安装主题

下载 agnoster 主题,执行脚本安装:

cd ~/Desktop/OpenSource
git clone https://github.com/fcamblor/oh-my-zsh-agnoster-fcamblor.git
cd oh-my-zsh-agnoster-fcamblor/
./install

执行上面的命令会将主题拷贝到 oh my zsh 的 themes 中,拷贝完成后,执行命令打开 zshrc 配置文件,将 ZSH_THEME 后面的字段改为 agnoster。

vi ~/.zshrc

修改完成后按一下 esc 调出 vi 命令,输入: wq 保存并退出 vi 模式。

此时 command+Q 或 source 配置文件后,iTerm2 变了模样:

安装高亮插件

这是 oh my zsh 的一个插件,安装方式与 theme 大同小异:

cd ~/.oh-my-zsh/custom/plugins/
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
vi ~/.zshrc

这时我们再次打开 zshrc 文件进行编辑。找到 plugins,此时 plugins 中应该已经有了 git,我们需要把高亮插件也加上:

请务必保证插件顺序,zsh-syntax-highlighting 必须在最后一个。

然后在文件的最后一行添加:source ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

按一下 esc 调出 vi 命令,输入: wq 保存并退出 vi 模式。

执行命令使刚才的修改生效:

source ~/.zshrc

至此大功告成,请看最终效果图:

更换背景图片方式:iTerm2 -> Preferences -> Profiles -> Window -> BackGround Image 勾选图片即可。

可选择、命令补全

跟代码高亮的安装方式一样,这也是一个 zsh 的插件,叫做 zsh-autosuggestion,用于命令建议和补全。

cd ~/.oh-my-zsh/custom/plugins/
git clone https://github.com/zsh-users/zsh-autosuggestions
vi ~/.zshrc

找到 plugins,加上这个插件即可:

插件效果:

Github:https://github.com/sirius1024...

更新完 zsh 提示目录权限问题的解决

提示信息如下:

Last login: Mon May 28 13:35:31 on ttys001
You have mail.
[oh-my-zsh] Insecure completion-dependent directories detected:
drwxrwxrwx 7 hans admin 238 2 9 10:13 /usr/local/share/zsh
drwxrwxrwx 6 hans admin 204 10 1 2017 /usr/local/share/zsh/site-functions

[oh-my-zsh] For safety, we will not load completions from these directories until
[oh-my-zsh] you fix their permissions and ownership and restart zsh.
[oh-my-zsh] See the above list for directories with group or other writability.

[oh-my-zsh] To fix your permissions you can do so by disabling
[oh-my-zsh] the write permission of "group" and "others" and making sure that the
[oh-my-zsh] owner of these directories is either root or your current user.
[oh-my-zsh] The following command may help:
[oh-my-zsh] compaudit | xargs chmod g-w,o-w

[oh-my-zsh] If the above didn't help or you want to skip the verification of
[oh-my-zsh] insecure directories you can set the variable ZSH_DISABLE_COMPFIX to
[oh-my-zsh] "true" before oh-my-zsh is sourced in your zshrc file.

解决方法:

chmod 755 /usr/local/share/zsh
chmod 755 /usr/local/share/zsh/site-functions

zsh配置完后,复制粘贴很慢解决办法

在.zshrc文件中配置以下内容:

# This speeds up pasting w/ autosuggest
# https://github.com/zsh-users/zsh-autosuggestions/issues/238
pasteinit() {
  OLD_SELF_INSERT=${${(s.:.)widgets[self-insert]}[2,3]}
  zle -N self-insert url-quote-magic # I wonder if you'd need `.url-quote-magic`?
}

pastefinish() {
  zle -N self-insert $OLD_SELF_INSERT
}
zstyle :bracketed-paste-magic paste-init pasteinit
zstyle :bracketed-paste-magic paste-finish pastefinish

重新使配置生效source .zshrc,或者重新打开终端,会自动加载.zshrc配置。

参考文档:

  1. https://segmentfault.com/a/1190000014992947

  2. https://www.jianshu.com/p/03bcc3e2930e

  3. https://blog.csdn.net/weixin_30753873/article/details/99220610