注:这篇适用于用MAC 开发的developer

身为程式开发者,很大一部分的时间是在用command line 做事,如果能把command line 调整成好用又酷炫的模样,不只是效率提升非常多,用起来爽度也比较高

像下面这样子的command line 是不是比内建的有意思多了?

过去总觉得设定command line 很麻烦,但其实如果不是要客制化很多细节,其实是非常简单的。这篇文章教大家如何用很简单的设定方式,就可以做到很酷炫的程度。没试过的人照着这篇的步骤跑,十多分钟就可以搞定了~

这篇的做法会依循以下两个原则,让不熟自订zsh 的人可以最轻松的入门:

  • 避免搞乱你的开发环境:仅可能使用homebrew 来安装需要的套件
  • 尽可能简化需要理解的概念。除了oh-my-zsh,不引入其他进阶的zsh 套件管理工具以及复杂的自订功能

最后的结果大概会是长这样:

 
几分钟打造超级好看又好用的zsh command line环境

安装、设定方式

总共有以下步骤:

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

步骤看似很多,但是每一步都很简单!


安装iTerm2:

虽然不是必要,内建的Terminal app 也可以,不过iTerm2 还是比较好用,下面的示范也全都是用iTerm2

安装方式:

#安装iTerm2 
brew cask instal iterm2

Preferences > Profiles > Terminal > Report Terminal Type

xterm-256color,等等在terminal才能看得到漂亮的颜色

 
几分钟打造超级好看又好用的zsh command line环境
iTerm2 Report Terminal Type 选单

修改iTerm2 的color scheme

这步骤很重要,预设的很丑,想要自己的command line 看起来赏心悦目就绝对要换掉预设的

Preferences > Profiles > Colors > Color Presets...

 
几分钟打造超级好看又好用的zsh command line环境

iTerm2 Color Schemes有超多可以选,先把整个repo下载到自己的电脑后,然后import到iTerm2:

 
几分钟打造超级好看又好用的zsh command line环境

schemes资料夹里面选一个喜欢的color scheme

 
几分钟打造超级好看又好用的zsh command line环境

这边要注意的是点选了档案import 以后并不会生效,还要再去color preset 点选你刚import 的scheme 才会生效

Tomorrow Night Eighties,优点是对比不会太强比较不刺眼,萤幕盯久了不会不舒服,颜色饱和度也适中,看起来质感比较好。不晓得要选哪一个的人可以试试看

 
几分钟打造超级好看又好用的zsh command line环境
https://github.com/mbadolato/iTerm2-Color-Schemes上的Tomorrow Night Eighties截图

这篇文章后面的command line 截图都是用这个color scheme,如果你发现按照我的安装步骤来做看起来颜色却不太一样,那就是你的iTerm2 color scheme 和我不同


安装powerline font

因为我们要用的theme 会用到很多的特殊icon,所以iTerm2 选用的字型必需要支援这种特殊icon font。这类型的字体统称为powerline font(另外还有加强版支援更多特殊icon 的叫的nerd font)

没有安装的话画面会长这样,遇到icon 会变框框问号

 
几分钟打造超级好看又好用的zsh command line环境
非powerline font

装完并设定新字型后的效果:

几分钟打造超级好看又好用的zsh command line环境
powerline font

Sauce Code Pro Nerd Font Complete
安装方式推荐直接用brew安装比较快又好管理

安装指令:

#安装指令
brew cask install font-sourcecodepro-nerd-font

如果想要装别的,brew 上面也有很多字型可以挑。

nerd

brew cask search nerd
 
几分钟打造超级好看又好用的zsh command line环境
这么多字型够挑了吧~

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

Preferences > Profiles > Text > Change Font(参考下图)

 
几分钟打造超级好看又好用的zsh command line环境
修改iTerm2 字型设定

2018–08–02更新:
若你切换字型后,发生iTerm2无法正常运作,有可能是遇到同一字型有复数版本的问题,请按照以下流程修复:

Font Book.app ->选择该字体->选择自动解决版本问题

这篇回报了这个问题


安装zsh:

zsh 是个取代bash 的强大shell,比bash 好用几百倍。这篇文章介绍的command line 设定一定要跑在zsh。没用过的一定要试一下

一样用homebrew 安装:

brew install zsh

并把zsh 设定为你的预设shell:


chsh -s $(which zsh)

安装oh-my-zsh

oh-my-zsh的framework来帮助大家使用zsh,zsh才火了起来。现在几乎所有zsh好用的工具都有支援oh-my-zsh,所以当然是要装这东西

安装指令:

install.sh

~/.oh-my-zsh


powerlevel9k

robbyrussell,多了git资讯,颜色也看起来比原生bash好一些:

 
几分钟打造超级好看又好用的zsh command line环境

github wiki上有很多截图可以参考

robbyrussell”

agnoster ” #试试看把robbyrussell 改成agnoster

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

exec $SHELL
 
几分钟打造超级好看又好用的zsh command line环境
agnoster 看起来是不是比robbyrussell 漂亮多了?

这边推荐一个超强的theme,powerlevel9k!

powerlevel9k的github

 
几分钟打造超级好看又好用的zsh command line环境
图片来源:https://github.com/bhilburn/powerlevel9k

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

 
几分钟打造超级好看又好用的zsh command line环境
图片撷取自powerlevel9k github

powerlevel9k 安装方式:

  1. powerlevel9k不是oh-my-zsh内建的theme ,必须另外下载

指令:

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

~/.zshrc,把ZSH_THEME设为powerlevel9k,并设定要显示哪些东西在command line上:

time,代表左边想显示当前资料夹路径,右边显示时间

exec $SHELL,设定才会生效):

 
几分钟打造超级好看又好用的zsh command line环境
左边显示当前资料夹路径,右边显示时间

vcs(vcs为version control system的缩写)

command line 会变这样:

 
几分钟打造超级好看又好用的zsh command line环境
多了git branch 以及git status 资讯

当你进入了一个没有写入权限的资料夹时还可以给你提醒:

dir_writable vcs)
 
几分钟打造超级好看又好用的zsh command line环境
/etc 没有写入权限,多出一个锁头提醒你

如果你的command line 是设成vi mode ,相信你一定碰过这个困扰,就是不晓得自己是处在normal mode 还是insert mode。没关系,powerlevel9k 可以帮你解决这个问题:

vi_mode )

结果如下:

 
几分钟打造超级好看又好用的zsh command line环境

上图告诉我们现在在insert mode

ESC后:

几分钟打造超级好看又好用的zsh command line环境
几分钟打造超级好看又好用的zsh command line环境

告诉你变normal mode 啦~赞吧!


我自己习惯左侧的设定放一些常用基本资讯
右边放一些好用但不是每次下指令都要看的东西

POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS

例如显示上一个指令的return code:

status time)

如果指令没出错,linux return code 为0 时会有个绿色小勾勾:

 
几分钟打造超级好看又好用的zsh command line环境
指令正确执行,return code 为 0

如果打了错误指令会出现相对应的return code,并且用红色底色提醒你

 
几分钟打造超级好看又好用的zsh command line环境
指令执行错误,return code 为127

还可以显示目前电脑的free memory:

ram time)
几分钟打造超级好看又好用的zsh command line环境
几分钟打造超级好看又好用的zsh command line环境
还有4.61G 的记忆体可用

2017/12/30更新:
上图的最左方有个资料夹icon,且git资讯多显示了几个icon,这用原本的设定是看不到的,需要加上这行:

POWERLEVEL9K_MODE='nerdfont-complete'

powerlevel9k的wiki有解释这个设定的作用,请大家使用时注意一下别忘记加上去


加上CPU load average:

load time)
 
几分钟打造超级好看又好用的zsh command line环境
CPU 忙碌程度2.45,还行

显示电量:

battery )
 
几分钟打造超级好看又好用的zsh command line环境
还可以用6 小时又11 分

https://github.com/bhilburn/powerlevel9k#available-prompt-segments

不过有些东西中看不中用,放太多东西也会让command line 反应变慢,试了各种设定一阵子后,只留下了一些我觉得比较有用的,给大家参考:

powerlevel9k wiki 
POWERLEVEL9K_MODE='nerdfont-complete'

注意:上面的配置必须放置在~/.zshrc中的source $ZSH/oh-my-zsh.sh前

最后…

这篇文章介绍了怎么样把自己的command line 替换成zsh,并且使用很厉害的powerlevel9k theme,不过zsh 不只是可以换酷炫的theme 而已,更重要的是还有很多比bash 好用的功能可以大幅提升工作效率,又可以装各种方便的plugin,就留待有机会时再介绍啰

几分钟打造超级好看又好用的zsh command line环境

 几分钟打造超级好看又好用的zsh command line环境

 

相关文章:

  • 2021-06-12
  • 2021-05-18
  • 2022-01-01
  • 2021-09-15
  • 2021-09-02
  • 2021-11-15
  • 2021-11-14
  • 2022-01-20
猜你喜欢
  • 2022-12-23
  • 2021-09-18
  • 2021-05-22
  • 2021-08-30
  • 2022-12-23
  • 2022-12-23
  • 2021-09-15
相关资源
相似解决方案