终端利器 iTerm2 强大不必多说

1. 首先下载 iTerm 2

下载地址:https://www.iterm2.com/downloads.html
下载的是压缩文件,解压后是执行程序文件,你可以直接双击,或者直接将它拖到 Applications 目录下。

或者你可以直接使用 Homebrew 进行安装:
$ brew cask install iterm2

2. 安装oh-my-zsh

打开iTerm 2 输入下面指令安装zsh

curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

安装好之后重启终端查看当前的Shell版本
echo $SHELL
如果当前的shell不是zsh,我们可以通过
chsh -s /bin/zsh
切换为 zsh,一样需要重启终端生效。

3. 安装配置Powerline 字体

3.1 下载、安装库powerline字体库

git clone https://github.com/powerline/fonts.git

执行./install.sh指令安装所有Powerline字体
安装完成后提示所有字体均已下载到/Users/superdanny/Library/Fonts路径下
All Powerline fonts installed to /Users/superdanny/Library/Fonts

3.2 设置iTerm 2的Regular Font 和 Non-ASCII Font

安装完字体库之后,把iTerm 2的设置里的Profile中的Text 选项卡中里的Regular Font和Non-ASCII Font的字体都设置成 Powerline的字体,我这里设置的字体是16pt Meslo LG S DZ Regular for Powerline

3.3 因为我们要用的theme 会用到很多的特殊icon
所以iTerm2 选用的字型必需要支援这种特殊icon font。
这类型的字体统称为powerline font(另外还有加强版支援更多特殊icon 的叫的nerd font)
没有安装的话画面会长这样,遇到icon 会变框框问号
此处输入图片的描述
非powerline font
装完并设定新字型后的效果:
此处输入图片的描述
powerline font
支援powerline的字型很多,我推荐Sauce Code Pro Nerd Font Complete
安装方式推荐直接用brew安装比较快又好管理
安装指令:
先执行这行,才能用homebrew安装字型。曾经执行过的人可以跳过这个指令

brew tap caskroom/fonts #安装指令
brew cask install font-sourcecodepro-nerd-font

如果想要装别的,brew 上面也有很多字型可以挑。
关键字是nerd:
brew cask search nerd
此处输入图片的描述
这么多字型够挑了吧~
装完后,记得修改iTerm2 字型设定否则不会生效。请改成SauceCodePro Nerd Font 或你自己下载的字型

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

4. 安装iTerm配色方案

安装配色方案
通过import导入配色主题即可
此处输入图片的描述

进入刚刚下载的工程的solarized/iterm2-colors-solarized 下双击 Solarized Dark.itermcolors 和 Solarized Light.itermcolors 两个文件就可以把配置文件导入到 iTerm2 里

5. 配置zsh的powerlevel9k主题

下载

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

进入~/.zshrc打开.zshrc文件,将 ZSH_THEME="robbyrussell"改为 ZSH_THEME="powerlevel9k/powerlevel9k",保存退出。

重启终端之后就会看到终端样式变了,如果其中存在一些乱码,先安装powerline字体。

安装后有可能会提示你的终端色彩不够256色问题,可以找它建议的,直接在~/.zshrc中强制指定终端色彩来解决:export TERM="xterm-256color"

常用配置
默认配置参考官方说明:https://github.com/bhilburn/powerlevel9k/wiki/Stylizing-Your-Prompt
官方推荐的各种用户配置(带各种截图):https://github.com/bhilburn/powerlevel9k/wiki/Show-Off-Your-Config

# ==== Theme Settings ====
# PowerLevel9k
# 左侧栏目显示的要素(指定的关键字参考官网)
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon context dir vcs)
# 右侧栏目显示的要素
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status root_indicator background_jobs time virtualenv)
#新起一行显示命令 (推荐!极其方便)
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
#右侧状态栏与命令在同一行
POWERLEVEL9K_RPROMPT_ON_NEWLINE=true
#缩短目录层级
POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
#缩短目录策略:隐藏上层目录中间的字
#POWERLEVEL9K_SHORTEN_STRATEGY="truncate_middle"
#添加连接上下连接箭头更方便查看
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX="↱"
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="↳ "
# 新的命令与上面的命令隔开一行
#POWERLEVEL9K_PROMPT_ADD_NEWLINE=true
# Git仓库状态的色彩指定
POWERLEVEL9K_VCS_CLEAN_FOREGROUND='blue'
POWERLEVEL9K_VCS_CLEAN_BACKGROUND='black'
POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND='yellow'
POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND='black'
POWERLEVEL9K_VCS_MODIFIED_FOREGROUND='red'
POWERLEVEL9K_VCS_MODIFIED_BACKGROUND='black'

显示主机型号图标问题
像这种显示当前主机(如Mac)图标和Git图标的问题,是需要字体支持的。
此处输入图片的描述
默认是不开启的,必须要在~/.zshrc中指定使用这种方式显示:

#字体设定 (注意,字体设定必须放在主题之前)
POWERLEVEL9K_MODE='nerdfont-complete'
#主题设定
ZSH_THEME="powerlevel9k/powerlevel9k"

上面的字体模式可选的有:

nerdfont-complete
awesome-fontconfig
awesome-patched
根据你的情况来尝试,因为不是每个都能完美无乱码显示出来。

6. 安装zsh插件

下载插件到cd ~/.oh-my-zsh/custom/plugins目录下即可

安装zsh-syntax-highlighting插件
指令高亮效果作用是当用户输入正确命令时指令会绿色高亮,错误时命令红色高亮
打开.zshrc文件,在最后添加下面内容
source ~/.oh-my-zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

注意:xxx代表.zshrc所在目录

修改.zshrc文件,在最后面添加下面内容
plugins=(git zsh-syntax-highlighting)
保存文件。

更新配置
source ~/.zshrc

QA

  1. 启动iTerm 2 默认使用dash改用zsh解决方法:chsh -s /bin/zsh
    如果想切换回原来的dash:chsh -s /bin/bash

卸载oh my zsh,在命令行输入如下命令,回车即可:uninstall_oh_my_zsh

  1. 执行指令pip install powerline-status出错解决方法:
    需要下载苹果官方的Command line。必須官方工具下载最新版 Command Line
  2. ⌘+Q关闭iTerm 2 时每次弹窗提示问题:
    iTerm 2 中,进入Preference-General-Closing栏目,将Confirm "Quit iTerm2(⌘Q)" command选项勾选去掉就行
  1. 路径前缀的XX@XX太长,缩短问题:
    在此感谢评论区的朋友提供的解决方案。在~/.oh-my-zsh/themes路径下找到agnoster.zsh-theme文件,可使用文本工具打开,将里面的build_prompt下的prompt_context字段在前面加#注释掉即可。
  1. Python的Virtualenv和Pipenv虚拟环境显示问题
    一般命令行里,进入虚拟环境的shell时会显示如(venv) ~$这样的。

但是安装这个主题后,默认是没有的。
你必须手动设置添加才行。

方法是:
在POWERLEVEL9K_LEFT_PROMPT_ELEMENTS或者POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS中添加virtualenv要素,就能够显示了。
如:
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon context dir vcs virtualenv)
此处输入图片的描述
但是也有不能正常显示的时候,而且还会报错:

$ pipenv shell
Shell for UNKNOWN_VIRTUAL_ENVIRONMENT already activated.
No action taken to avoid nested environments.

这个不是主题的问题,测试后发现换了主题还是这样显示,所以这是ZSH的问题。
找了半天都没有结果怎么解决。
结果发现,不需任何修改,
只要关闭当前的终端窗口,重新打开就好了。

6.背景图喜欢的朋友使用。http://img.otb.qujiazhen.com/81f8a509gy1fnjdvkkwgoj20zk0m8ak8.jpg

标签: mac, iterm, zsh

添加新评论