本不想写这篇文章的,因为在Linux下已经配置过很多次,想着mac应该找篇文章一次就搞定了,结果还是踩坑,看了很多文章,不是某一点没不清楚,就是截图有问题或者命令有问题,官网又难得找等等…花了3个多小时才搞定,所以,还是来总结一篇文章就能够搞定的教程。
为什么要用zsh?用了这么多年的bash,不能说bash不好,不过当我用了zsh后发现,什么叫更好用。
配置过程稍微有点繁琐,但是你看过效果图后,或许就有动力配置了,谁说程序员不讲究外观?
本文默认你的系统已经安装好git,curl和wget,如果没安装可能需要从xcode装起。
官网下载地址:http://iterm2.com/,这个不用多说,双击安装即可。
首先,打开 配色方案地址。然后,将内容复制并保存为文件:
SolarizedDarkHigherContrast.itermcolors
(注意后缀,OSX会自作聪明的加.xml,先保存,再点击重命名删除.xml即可)
然后双击即可安装。
其次,安装完后打开 iTerm2 终端,依次在菜单栏选择:iTerm2 –> Preferences –> Profiles –> Colors –> Colors Presets –> SolarizedDarkHigherContrast。
到此,配色方案成功安装。
1、确认是否安装过zsh:
zsh --version
输出如下:
zsh 5.3 (x86_64-apple-darwin17.0)
说明Mac已经预装了。如果没有安装,使用pip或brew安装即可,非常简单。
2、确认当前shell:
echo $SHELL
如果不是/bin/zsh
,则用需要修改:
chsh -s /bin/zsh
#或
sudo chsh -s /bin/zsh
但是,这里我并没有成功! 查询oh-my-zash主页发现安装zsh使用chsh是有部分系统会失败,需要使用别的办法:
export SHELL=/bin/zsh
exec /bin/zsh -l
这样就能成功的看见/bin/zsh
了。
使用curl命令安装:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
使用wget安装:
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
git下载主题并拷贝到自定义主题文件夹下:
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
修改 ~/.zshrc 配置文件,配置如下:
ZSH_THEME="powerlevel9k/powerlevel9k"
到此,我们可以重新打开终端看看效果了。
可这么长的命令提示符一点都不美观!
接下来就来,简单定制下 powerlevel9k 主题(更深度的定制,可参看customizing-prompt-segments)
技巧1:修改命令提示符
默认的命令提示符为 user@userdemackbookPro,这样的提示符配合 powerlevel9k 主题太过冗长,因此我们选择将该冗长的提示符去掉,在 ~/.zshrc 配置文件后面追加如下内容:
#注意:DEFAULT_USER 的值必须要是系统用户名才能生效
DEFAULT_USER="user"
技巧2:简化左右侧元素显示
默认的 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-syntax-highlighting,可以使终端输入的命令有语法高亮效果,安装方法如下:
1、git下载并拷贝到oh-my-zsh的插件 :
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
2.修改配置文件~/.zshrc :
# 注意:zsh-syntax-highlighting 必须放在最后面(官方推荐)
plugins=( [plugins...] zsh-syntax-highlighting)
3.激活配置文件 ~/.zshrc :
source ~/.zshrc
技巧4:关于oh-my-zsh 插件
关于 oh-my-zsh 插件的管理是很简单的,有两个插件目录:
只需要把插件下载到上面任何一个目录即可,然后在 ~/.zshrc 配置文件中的 plugins 变量中添加对应插件的名称即可,
plugins=(
git
extract
z
zsh-syntax-highlighting
)
因为还差一步,激活oh-my-sh,打开~/.zshrc追加:
export ZSH=/Users/你的用户名/.oh-my-zsh #或者别的你的oh-my-zsh安装目录
source $ZSH/oh-my-zsh.sh
重新激活配置文件:
source ~/.zshrc
这时,使用命令才算成功,如图:
但!还没有完!你一定看到那个糟心的?号了。
好了,这时可以来解决?号的问题了,如图:
powerline的问号就是因为字体没安装,而且注意不只是安装字体就行了,需要配置iTerm2。
首先,git下载并执行install.sh脚本安装:
git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
./install.sh
cd ..
rm -rf fonts
其次,打开iTerm2,按照路径打开:iTerm2 –> Preferences –> Profiles –> text,找到Font处,如图:
最后,这时的字体不是为powerline所支持的,需要点击Change Font选择有for powerline字样的字体,并勾选Use a different font for non-ASCII text,同样更改,才能生效更改后如图:
重启iTerm2,到此,大功告成。
再也不用担心输命令时,长时间对着枯燥的界面了。
坑是基本填完了,如果还有遗漏,欢迎大家补充指正了。