@Mac 终端配置策略:iterm2+oh-my-zsh+powerlevel9k

本文适用于 mac 用户
原则:避免扰乱你的开发环境,尽可能使用 homebrew 来安装需要的包套件

配置完后的效果如下:


@Mac 终端配置策略:iterm2+oh-my-zsh+powerlevel9k_第1张图片
image

安装 iterm2

step1: 使用 homebrew 安装 iterm2

# 若是第一次执行 brew cask 的话,需要先执行
brew tap caskroom/cask

# 安裝 iTerm2
brew cask instal iterm2

step2:修改 Report Terminal Type,以支持绚丽的配色
安装 iterm2 后,修改 Report Terminal Typexterm-256color
依次Preferences > Profiles > Terminal > Report Terminal Type,设为xterm-256color

@Mac 终端配置策略:iterm2+oh-my-zsh+powerlevel9k_第2张图片
image

修改 iterm2 的配色方案

设定路径:Preferences > Profiles > Colors > Color Presets...

@Mac 终端配置策略:iterm2+oh-my-zsh+powerlevel9k_第3张图片
image

内建的 color scheme 不是很好看,可以去iTerm2 Color Schemes克隆到本地,然后 import 到 iterm2 中

@Mac 终端配置策略:iterm2+oh-my-zsh+powerlevel9k_第4张图片
image

刚才克隆下来的 iTerm2-Color-Schemes 有很多文件夹,从 schemes 資料夾裡面選一個喜歡的 color scheme,这里我选择的是 Tomorrow Night Eighties

@Mac 终端配置策略:iterm2+oh-my-zsh+powerlevel9k_第5张图片
image

安装 powerline font

由于我们要使用的 theme 会用到很多特殊的 icon,所以 iTerm2 选用的字体必须为支持这些特殊 icon 的字体。这类型的字体统称为 powerline font(另外还有加强版支持更多特殊 icon 的为 nerd font)

若沒有安装 powerline font 的话,遇到字体所不支持的 icon 时会像这样:


image

安装了 powerline font 后:


image

支持 powerline 的字体很多,这里选用的是 Sauce Code Pro Nerd Font Complete

step1:使用 homebrew 安装字体

# 先執行這行,才能用 homebrew 安裝字型。曾經執行過的人可以跳過這個指令
brew tap caskroom/fonts
# 安裝指令
brew cask install font-sourcecodepro-nerd-font

如果想要安装別的字体,brew 上面也有很多字型可以挑,关键词是 nerd

brew search nerd
@Mac 终端配置策略:iterm2+oh-my-zsh+powerlevel9k_第6张图片
image

step2:修改字体
装完后,依次Preferences > Profiles > Text > Change Font,将字体改成SauceCodePro Nerd Font或你自己下载的字体:

@Mac 终端配置策略:iterm2+oh-my-zsh+powerlevel9k_第7张图片
image

可能出现的问题

若在切换字体后,发生 iTerm2 无法正常运作,有可能是遇到同一字体有重复版本的问题,请按一下步骤进行修改:
打开 Font Book.app -> 选择刚安装的字体 -> 选择自动解决版本问题

设定默认 shell 为 zsh

# 查看支持的 shell
cat /etc/shells
# 若没有 zsh,则安装
brew install zsh
# 将 zsh 设定为默认的 shell
chsh -s /bin/zsh

安装 oh-my-zsh

上一步装完 zsh 后,就可以开始调整我们想要的 command line 外观设定了,但是原始的 zsh 因为设定太难搞,所以多年前刚出现的时候没有受到太多关注,直到有人写了一套叫 oh-my-zsh 的 framework 来帮助大家使用 zsh,zsh 才火了起来。现在几乎所有 zsh 好用的工具都有支援 oh-my-zsh,所以当然是要装这东西。

step1:安装 oh-my-zsh

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

注:这会直接执行 oh-my-zshinstall.sh 有疑虑的人可以先稍微研究一下 oh-my-zsh github 上的 install.sh,觉得放心再执行

执行完以后如果没有出现什么错误讯息就代表成功了,同时会发现多了 oh-my-zsh 的文件夹 ~/.oh-my-zsh

安装 powerlevel9k 主题

刚装完 oh-my-zsh 以后,预设是使用内建的 theme robbyrussell,多了 git 资讯,颜色也看起来比原生 bash 好一些:

image

不过 oh-my-zsh 内建很多 theme,在它的 github wiki 上有很多截图可以参考:

切换内建的 theme 很简单,直接修改你的 ~/.zshrc,把原本 ZSH_THEME=”robbyrussell” 改成你想要的:

# 編輯 ~/.zshrc
ZSH_THEME=”agnoster” # 試試看把 robbyrussell 改成 agnoster

任何的 zsh 设定修改完后,还要执行以下命令才可以生效:

exec $SHELL
@Mac 终端配置策略:iterm2+oh-my-zsh+powerlevel9k_第8张图片
image

agnoster 看起来比 robbyrussel 漂亮多了。

本文推荐 powerlevel9k 主题!
文章开头的图片就来自 powerlevel9k 的 github

image

powerlevel9k 不只是像上面的示范图显示一些基本的资讯,还可以,比如像下图那样,显示 WiFi 信号强度、笔记本剩余电量、CPU loading、system free memory 等等信息在 command line

image

step1:克隆powerlevel9k到~/.oh-my-zsh/custom/themes/

git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

step2:編輯~/.zshrc ,把 ZSH_THEME 设为 powerlevel9k

# nerd-font active
POWERLEVEL9K_MODE='nerdfont-complete'
ZSH_THEME="powerlevel9k/powerlevel9k"

Note:必须在ZSH_THEME前增加 POWERLEVEL9K_MODE,否则可能会出现部分 icon 无法显示。

step3:调整 command line 的提示符以及显示样式

# 提示符修改
# command line 左侧要显示的信息
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir dir_writable rbenv vcs)
# command line 右侧要显示的信息
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status root_indicator background_jobs ram load history time)
# 提示符分两行显示
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
# 在提示符与要输入的指令之间增加空格
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX="%f"
# 当前用户为 root 时,提示符为"#",否则为"$"
local user_symbol="$"
if [[ $(print -P "%#") =~ "#" ]]; then
    user_symbol = "#"
fi
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="%{%B%F{black}%K{yellow}%} $user_symbol%{%b%f%k%F{yellow}%} %{%f%}"
# 没执行完一条指令在最后增加一空行
POWERLEVEL9K_PROMPT_ADD_NEWLINE=true

最终的效果如下:


@Mac 终端配置策略:iterm2+oh-my-zsh+powerlevel9k_第9张图片
image

你可能感兴趣的:(@Mac 终端配置策略:iterm2+oh-my-zsh+powerlevel9k)