The value of knowledge lies not in possession, but in share.

0%

Mac下终端升级(iTem2 + oh-my-zsh + powerlevel9k)

作为一个一直在路上追求艺术和高效的汉子,为了在使用命令行的过程中让自己更加赏心悦目,我又来折腾我的终端了。

目标的效果如下:

为什么选择ITem2

  1. 功能强大,譬如搜索功能强大,搜索出来的匹配字符高亮显示;
  2. 分屏功能强大,一定程度上可以代替tmux(自认为iTerm2的自带分屏功能比 tmux 香🤦‍♂️);
  3. 可以配置的更加优雅、艺术。

安装iTem2

  1. 首先在官网 http://iterm2.com/ 下载 iTem2 。

  2. 将iTem2设置为默认终端:iTerm2 -> Make iTerm2 Default Term

导入iTem2配色

一般我所有的软件的配色都是设置为Solarized,iTem2已经内置了,但感觉差点。

为实现文章开头中的效果,则需要导入Material Design配色,下载后通过Preferences > Profiles > Colors > Color Presets > Import进行设定。

iTerm2 Color Schemes上面,有很多配色可以选择,可按照自己的喜欢进行下载。

注:重新打开iTem2窗口则会生效。

安装oh-my-zsh

安装命令:

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

但是在我这报错,我就直接将install.sh下载下来,然后sudo sh install.sh进行了安装。

执行完以后如果没有出现什么报错,在Home文件夹下生成了 ~/.oh-my-zsh文件夹就代表成功了。

安装oh-my-zsh的插件

  1. 安装语法高亮插件

    1
    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
  2. 安装自动补全插件

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

安装字体

因为我们要用的主题会用到很多的特殊icon,所以iTerm2 选用的字体必需要支援这种特殊icon font。

没有安装的话会现在如下这样,遇到icon会变框框问号:

安装完字体后的效果:

点击Meslo LG L DZ Regular Nerd Font Complete 下载字体,双击进行安装。

然后通过Preferences > Profiles > Text进行设定。

安装zsh powerlevel9k 主题

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

修改zsh配置

为了让powerlevel9k主题生效,需要修改~/.zshrc 文件,修改主题为powerlevel9k:

vim ~/.zshrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
export ZSH="$HOME/.oh-my-zsh"

ZSH_THEME="powerlevel9k/powerlevel9k"
# Nerd 字体
POWERLEVEL9K_MODE="nerdfont-complete"
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
# command line左边想显示的内容:系统icon、用户、写权限、路径、版本控制系统等
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon user dir_writable dir vcs)
# command line右边想显示的内容:状态、命令执行时间、...、系统时间、已用空间、RAM占用
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status command_execution_time root_indicator background_jobs time disk_usage ram)
#POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
#POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX=""
#POWERLEVEL9K_USER_ICON="\uF415" # 
POWERLEVEL9K_ROOT_ICON="\uF09C"
#POWERLEVEL9K_SUDO_ICON=$'\uF09C' # 
POWERLEVEL9K_TIME_FORMAT="%D{%H:%M}"
#POWERLEVEL9K_VCS_GIT_ICON='\uF408 '
#POWERLEVEL9K_VCS_GIT_GITHUB_ICON='\uF408 '

ZSH_DISABLE_COMPFIX=true

ENABLE_CORRECTION="true"
COMPLETION_WAITING_DOTS="true"
# zsh插件
plugins=(
git
iterm2
macports
man
osx
python
composer
zsh-syntax-highlighting
zsh-autosuggestions
)

source $ZSH/oh-my-zsh.sh

alias suroot='sudo -E -s'

# source ~/.bash_profile

if [ -f ~/.bash_profile ]; then
. ~/.bash_profile;
fi

最终就可以实现了这种显示效果:

另外,此处Show Off Your Config.有更多的参数配置,大家可以尽情欣赏。

iTerm2 常用快捷键

1
2
3
4
5
6
7
8
9
10
⌘ + 数字 : 各 tab 标签切换
⌘ + f : 查找 ,所查找的内容会被自动复制 ,输入查找的部分字符,找到匹配的值按tab,即可复制
⌘ + d : 横着分屏
⌘ + shift + d : 竖着分屏
⌘ + r = clear : 换到新一屏,而不是 类似clear ,会创建一个空屏
ctrl + u :清空当前行,无论光标在什么位置
() + ⌘ + ; : [() 输入的命令开头字符],会自动列出输入过的命令
⌘ + shift + h : 会列出剪切板历史
⌘← / ⌘→ : 到一行命令最左边/最右边
⌘ + enter : 全屏

🍭支持一根棒棒糖吧!