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

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

配置完后的效果如下:


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

image

修改 iterm2 的配色方案

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

image

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

image

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

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
image

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

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
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

最终的效果如下:


image
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容