搞了一段时间,踩了不少坑,终于完成iTerm 2与oh my zsh的配合,过程曲折,其实还是要找好资料,被不少资料坑到。。。。
前言
很多人推荐用zsh,今天用上,配合oh-my-zsh,自定义强,更好用更酷炫。值得你花时间从bash转移到zsh,虽然过程中遇到不少问题,但一切都是值得的,下面介绍一下还有避坑指南。
第一
首先要安装zsh,一般Mac系电脑已经安装好,但都要看一下
zsh
将会看到 zsh-newuser-install,新手向导将可以帮你完成一些最基本的配置。本人建议直接跳过,zsh的配置文件可以从oh-my-zsh中copy得来,没有必要自己去创建,而且没有经验的也不知道怎么配置。
在Mac系电脑中一般使用bash,没有安装zsh的话,通过homebrew安装(没有homebrew命令请自行Google解决):
brew install zsh
安装完成后,将zsh设置成系统默认shell,以代替bash。 用编辑器打开/etc/shells
,在末尾添加/usr/local/bin/zsh
,保存关闭。 在终端中执行以下命令:
chsh -s $(which zsh)
以后想转换成bash,只需将zsh改成bash再重启即可
重启之后,shell默认是zsh了,第一步完成
第二
安装oh-my-zsh,此时的zsh还是最初始的样子,我们要将其变成强大的终端,需要对其进行配置,为了让zsh产生想上面图片那样的效果,我们需要安装oh-my-zsh。
oh-my-zsh有两种安装方式,推荐自动方式,在终端输入
curl -L http://install.ohmyz.sh | sh
如果有wget,可以用它
wget --no-check-certificate http://install.ohmyz.sh -O - | sh
一般情况下,oh-my-zsh已经安装完毕
第三
对zsh进行配置,这个十足坑,zsh的配置几乎都在~/.zshrc
下面,而打开时是用nano或者vim命令,因为是隐藏文件,命令应该是这样
vim .zshrc
nano同理,但由于没有经验,这个坑容易引发对人生怀疑,一般情况下,.zshrc已经有的,但有时也会没有要自己创建,这真是坑爹中的战斗机啊!经过我一番苦工搜索,终于找到办法,就是上面说的copy,执行如下命令:
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
利用oh-my-zsh的template文件就行了,之后可以对.zshrc文件修改,自定义自己喜欢的主题和功能
在~/.oh-my-zsh/themes
存在各式各样的主题文件,每个主题的样子你可以通过这个网址进行查看,选好样式后,在.zshrc
中的ZSH_THEME设置成你所选用的主题。重启iTerm2,便可以看到相应的效果。这里建议使用agnoster,比较好看。
但这个只是半成品,想要达到上面的效果需要多做一些功夫
第四
补充,1、安装Powerline
在官网有教程,我们只需要执行官网第一条安装指令就行,如果你的终端能够正常执行pip指令,那么直接执行下面的指令可以完成安装
pip install powerline-status
如果没有,则先执行安装pip指令
sudo easy_install pip
2、之后下载字体https://github.com/powerline/fonts
(1)、将工程下载下来后cd到install.sh
文件所在目录,(2)、执行指令安装字体库,执行./install.sh
指令安装所有Powerline字体
安装完成后提示所有字体均已下载到/Users/superdanny/Library/Fonts
路径下
3、接着设置iTerm2的字体
安装完字体库之后,把iTerm 2的设置里的Profile
中的Text
选项卡中里的Regular Font
和Non-ASCII Font
的字体都设置成 Powerline的字体,我这里设置的字体是12pt Meslo LG S DZ Regular for Powerline
4、最后搞一些配色
下载配色方案 https://github.com/altercation/solarized
进入刚刚下载的工程的solarized/iterm2-colors-solarized
下双击 Solarized Dark.itermcolors
和 Solarized Light.itermcolors
两个文件就可以把配置文件导入到 iTerm2 里,之后在load presets选择刚才安装的配色方案即可。
export ZSH_THEME="agnoster" DEFAULT_USER="sasuke6"
在.zshrc中可以设置default_user来减轻头名的臃肿。
经过一番功夫,你的iTerm瞬间不同其他人,geek风格,如果想更进一步设置,可以参考以下链接
里面的配置方案足够丰富,有兴趣的同学也可以尝试更多