Terminal折腾记

闲逛网上文章时,发现可以对Mac的终端进行改造。之前自己一直使用默认的Mac终端 ,并没有过多的配置,使用起来并不是很便捷,这也更加坚定了自己对终端进行改造的决心。

开门见山,先直接上一幅改造后终端的最终效果图:

为了达到上图改造后的效果,需要安装以下几个软件:

我们逐个进行介绍。

iTerm2

iterm2是一强大的终端工具,按照其官网的说法,它是Mac OS terminal的替代品,并带来了大量改进的功能。
可以到iterm2官网http://www.iterm2.com下载iterm2的最新版本,并进行安装,过程比较简单,此处不再赘述。

Z Shell

Z shell(zsh)由Bourne shell发展而来,功能更加强大。zsh最初由普林斯敦的一位叫Paul Falstad的学生实现(膜拜牛人),而zsh这个名字最初来源于普林斯敦一位老师登录zsh的ID:zsh。Paul Falstad觉得这个名字很好,就用来作为shell的名称了。
Mac系统自带了4.0版本的zsh,可以使用brew isntall安装5.x版本的zsh。

brew install zsh

删除版本的zsh,并查询新版本的安装目录:

sudo rm /bin/zsh
brew –prefix zsh

得到输出:

/usr/local/opt/zsh

即zsh的安装目录是/usr/local/opt/zsh,然后再执行下面的命令,使用新版本的zsh替换原有旧版本的zsh:

sudo ln -s /usr/local/opt/zsh/bin/zsh /bin/zsh
chsh -s /bin/zsh # 切换系统当前用户的默认 shell 为 zsh

Solarized 配色方案

http://ethanschoonover.com/solarized可以下载最新版本的solarized配色方案。下载后,进行iterm2-colors-solarized目录,点击Solarized Dark.itermcolors,便完成配色方案的安装。

打开iterm2的偏好设定,Profiles -> Colors,选择Solarized Dark,完成iterm2配色方案的设置:

Oh My Zsh

oh my zsh是一套强大的zsh配置方案,拥有众多强大的插件和酷炫的主题,绝对的装逼利器。

插一段oh my zsh的官方介绍,很有意思:

Once installed, your terminal shell will become the talk of the town or your money back! With each keystroke in your command prompt, you’ll take advantage of the hundreds of powerful plugins and beautiful themes. Strangers will come up to you in cafés and ask you, “that is amazing! are you some sort of genius?”

可以使用curl安装oh my zsh:

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

为避免乱码的问题,需要额外安装powerline字体:

git clone https://github.com/powerline/fonts.git
cd fonts
./install.sh
cd ..
rm -rf fonts

安装好powerline字体后,按照下图设置iterm2的字体:

这步很重要,否则在iterm2上没法显示箭头等特殊字符,我也是在这个问题上折腾了一段时间:(

接着修改oh my zsh的配置。
编辑~/.zshrc文件,设置oh my zsh的插件:

plugins=(git brew node npm)

编辑~/.zshrc文件,设置oh my zsh的主题:

ZSH_THEME=”agnoster”

编辑~/.zshrc文件,去除shell提示符前面多余的用户名:

export DEFAULT_USER=”$(whoami)”


在完成上述的软件安装和配置后,终端便是折腾完成了。俗话说磨刀不误砍柴工,有时折腾一下还是很有必要的。

参考资料

  1. http://www.jianshu.com/p/bb1c97269b11
  2. http://xingrz.me/2013/2013-06-19/terminal-zhuangbility.html
  3. https://en.wikipedia.org/wiki/Z_shell
  4. http://ohmyz.sh
  5. http://tieba.baidu.com/p/4083811481
  6. http://stackoverflow.com/questions/31848957/zsh-hide-computer-name-in-the-terminal