iTerm2+zsh打造漂亮好用的终端环境

标签: iTerm2   Tools  

注:适用于使用MacOS开发的Developer

身为程序开发者,很大一部分的时间是在用Command Line做事,如果能把Command Line调整得好用又炫酷的模样,不只是效率提升很懂,用起来爽度也比较高。

最后大概会是这个样子:

如下安装步:

总共有以下步驟:

  1. 安裝 iTerm2
  2. 修改 iTerm2 的 color scheme
  3. 安裝 powerline font
  4. 安裝 zsh
  5. 安裝 oh-my-zsh
  6. 安裝 zsh theme: powerlevel9k
  7. 设置 powerlevel9k

步骤看似很多,但是其实都很简单。

安装iTerm2:

安装方式:

brew install iterm2

或者去官网下载安装都可以。

安裝好以后,打开 iTerm2 检查 Report Terminal Type 的设定,设定路径:Preferences > Profiles > Terminal > Report Terminal Type

改为 xterm-256color,才能在 terminal 中看得到漂亮的顏色。

修改iTerm2的color scheme

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

里面很一些内置的,也可以到iTerm2 Color Schemes中把这个git repo下载到电脑中,然后import到iTerm2中。

我自己是用 Tomorrow Night Eighties,优点是对比不會太强比较不刺眼,屏幕盯久了不會不舒服,颜色饱和度也适中,看起來质感比较好。

也可以选择Solarized Dark Higher Contrast或者ayu

安装powerline font

因为一些theme会用到特殊的icon,所以必须选择支持这些特殊icon的font。这些字体统称为powerline font。

你可以看我上面那张图中,vcs相关的图片,如果显示不了会出现框框问号。

支持 powerline 的字型很多,我推荐 Sauce Code Pro Nerd Font Complete

安装powerline字体指令:

git clone https://github.com/powerline/fonts.git
cd fonts
./install.sh
rm -rf ../fonts
# 先执行,才能用 homebrew 安装字体。
brew tap caskroom/fonts
# 安裝指令
brew cask install font-sourcecodepro-nerd-font

brew 上面也有很多字型可以挑,可是使用:

brew search nerd

装完后,记得修改 iTerm2 字体设定否则不会生效。请改成 SauceCodePro Nerd Font 或你自己下载的字体。

设定路径:Preferences > Profiles > Text > Change Font ,选择Sauce Code Powerline字体。

安装zsh:

检查当前默认的shell:

echo $0

查看机器上支持哪些shell:

cat /etc/shells

切换到zsh:

chsh -s /bin/zsh

如果没有安装zsh,可以执行如下操作:

brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells" 
chsh -s $(which zsh)

iTerm2设定路径:Preferences > Profiles > General > Command,改为/bin/zsh

安装oh-my-zsh:

安裝指令:

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

安裝 zsh theme powerlevel9k

安装好oh-my-zsh以后,默认theme为robbyrussell,多了一些git资讯,颜色也比原生bash好看多了。

不過 oh-my-zsh 內建很多 theme,在它的 github wiki 上有很多截图可以參考。

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

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

任何的 zsh 設定修改过后,还要执行以下指令才會生效

source ~/.zshrc

推荐另外一个超强的主题,powerlevel9k

powerlevel9k 不只是像上面的示例显示的一些基本资讯,还可以做到很屌的事情,比如 WiFi信号强度、电池电力、CPU loading、system free memory 等等在 command line

powerlevel9k 安裝方式:

1.下载

powerlevel9k 不是 oh-my-zsh 內建的 theme ,必须另外下载:

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

2. 设置主题

  • 修改 ~/.zshrc 配置文件,配置该主题
ZSH_THEME="powerlevel9k/powerlevel9k"
  • 修改命令提示符 默认的命令提示符为 user@userdemackbookPro,这样的提示符配合 powerlevel9k 主题太过冗长,因此我选择将该冗长的提示符去掉,在 ~/.zshrc 配置文件后面追加如下内容:
# 注意:DEFAULT_USER 的值必须要是系统用户名才能生效
DEFAULT_USER="user"
  • 简单定制下 powerlevel9k 主题 powerlevel9k 主题的好处就是可以做很多自定义,只需要简单修改 ~/.zshrc 配置即可生效。更多关于该主题的定制请看 customizing-prompt-segments; 默认的 powerlevel9k 主题最右侧显示的元素为:每条命令的执行状态,历史命令条数,当前时间,这样也比较冗余,我在这里将 历史命令条数 这一元素去掉,这样看起来比较简洁。这需要修改 ~/.zshrc 配置文件,在后面追加如下内容,定制该主题的显示元素:
# 设置 oh-my-zsh powerlevel9k 主题左边元素显示
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir rbenv vcs)
# 设置 oh-my-zsh powerlevel9k 主题右边元素显示
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status root_indicator background_jobs time)

3. zsh 命令语法高亮

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

4. 安装一些比较实用的插件

关于 oh-my-zsh 插件的管理是很简单的,有两个插件目录:

  • /Users/user/.oh-my-zsh/plugins: oh-my-zsh 官方插件目录,该目录已经预装了很多实用的插件,只不过没激活而已;
  • /Users/user/.oh-my-zsh/custom/plugins: oh-my-zsh 第三方插件目录;

需要安装哪个插件,只需要把插件下载到上面任何一个目录即可,然后在 ~/.zshrc 配置文件中的 plugins 变量中添加对应插件的名称即可,以下是我挑选的几个比较好用的插件(都是官方自带的,无需另外下载),~/.zshrc 配置文件如下:

# Add wisely, as too many plugins slow down shell startup.
plugins=(
   git
   extract
   z
   zsh-syntax-highlighting
 )
  • git:oh-my-zsh 默认开启的,没什么好说的;
  • extract:通用的解压缩插件,可以解压缩任何后缀的压缩文件,使用方法很简单:x 文件名
  • z:很智能的目录跳转插件,能记录之前 cd 过哪些目录,然后模糊匹配跳转,不需要输入全路径即可跳转,使用方法:z dir_pattern

「真诚赞赏,手留余香」

请我喝杯咖啡?

使用微信扫描二维码完成支付

相关文章