Ubuntu 15 安装Zsh与oh-my-zsh

一、前言


Zsh和bash一样,是一种Unix shell,但大多数Linux发行版本都默认使用bash shell。但Zsh有强大的自动补全参数、文件名、等功能和强大的自定义配置功能。


oh-my-zsh是基于zsh的功能做了一个扩展,方便的插件管理、主题自定义,以及漂亮的自动完成效果。oh-my-zsh是一个社区驱动用于管理zsh的框架,囊括了140多个主题,200多个可选插件(如rails, git, OSX, hub, brew, ant, php, python etc.)。


详细的可以看以下教程:

https://linuxtoy.org/archives/zsh.html

https://github.com/YoungZHU/oh-my-zsh


二、安装


首先,安装zsh:


sudo apt-get install zsh

Ubuntu 15 安装Zsh与oh-my-zsh_第1张图片


接下来我们需要下载 oh-my-zsh 项目来帮我们配置 zsh,on-my-zsh地址:https://github.com/robbyrussell/oh-my-zsh/采用wget安装: 


wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

Ubuntu 15 安装Zsh与oh-my-zsh_第2张图片


失败,提示Git没有安装。。。需要提前安装Git,可以参考我这篇文章:http://blog.csdn.net/u011781521/article/details/53861807 安装后再试


Ubuntu 15 安装Zsh与oh-my-zsh_第3张图片


或者采用curl安装:


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



默认安装完成Oh-My-Zsh的样式如下:(重启终端后有效)




Oh-My-Zsh的默认配置文件在:~/.zshrc


编辑~/.zshrc 他默认的主题是:robbyrussell  修改 ZSH_THEME 的值就可以更换主题。


sudo gedit  ~/.zshrc


Ubuntu 15 安装Zsh与oh-my-zsh_第4张图片


修改主题为:agnoster


Ubuntu 15 安装Zsh与oh-my-zsh_第5张图片


修改后保存,从新开个终端、效果如下:


Ubuntu 15 安装Zsh与oh-my-zsh_第6张图片


ZSH_THEME="candy" 这个是命令分两行,上面一行显示时间
ZSH_THEME="bira" 也是占两行,但没显示时间
ZSH_THEME="sporty_256" 占两行,把原来的提示符放右面了
ZSH_THEME="robbyrussell" 这个是比较简单朴素的命令提示符,默认就是这个
ZSH_THEME="agnoster" 特别炫酷

可以通过访问 ~/.oh-my-zsh/themes/ 目录查看哪些可选的主题


$ tree themes





提示: zsh: command not found: tree




更多关于各个主题的详细介绍见 zsh themes ,另外还有不少并不是自带的主题,见 more external themes。


确认zsh是否安装成功


zsh --version



这时的zsh 基本已经配置完成,你需要一行命令就可以切换到 zsh 模式,终端下输入以下命令


chsh -s /bin/zsh

最后,修改下配色,会让你的终端样式看起来更舒服,在终端任意地方右键,进入配置文件(profile)->配置文件首选,弹出如下界面,进入colors一栏:


Ubuntu 15 安装Zsh与oh-my-zsh_第7张图片


文字和背景采用系统主题,透明度设为10%,下面的样式采用Tango,设置好后,效果如下:


Ubuntu 15 安装Zsh与oh-my-zsh_第8张图片


将 Zsh 设置为默认 Shell(不建议更改 root 用户的默认 shell)


显示Zsh路径


whereis zsh



chsh -s /bin/zsh 



会提示输入密码,然后重新登录就好了,或者通过


sudo chsh -s $(which zsh)



设置zsh为默认shell。


echo $SHELL确认zsh是否是默认SHELL,输出/bin/zsh




然后重启系统!!!!


三、修改Oh-My-Zsh agnoster匹配字体


Ubuntu 15 安装Zsh与oh-my-zsh_第9张图片


从上图我们可以明显的发现,显示效果中有乱码,这是因为字体没适配。我们需要下载支持Powerline的字体。


1、下载地址:https://github.com/powerline/fonts
2、下载完成双击安装


安装 powerline fonts


// 下载powerline fonts项目
git clone https://github.com/powerline/fonts

Ubuntu 15 安装Zsh与oh-my-zsh_第10张图片


// 执行安装
./fonts/install.sh



默认Ubuntu 终端使用的是 Ubuntu mono regular字体 13字号,设置成Ubuntu Mono derivative Powerline字体后,效果如下:


终端右键---->配置文件---->配置文件首选项---->选择自定义字体,Ubuntu Mono derivative Powerline



Ubuntu 15 安装Zsh与oh-my-zsh_第11张图片


修改之后、就能显示了


Ubuntu 15 安装Zsh与oh-my-zsh_第12张图片


但是他前面还有一串字符、也要把他去掉、通过在~/.zshrc中添加export DEFAULT_USER=”username”可以隐藏固定的user@hostname信息


export DEFAULT_USER=`fendo` // 在.zshrc中添加或者修改默认用户为自己,开启终端后就不会显示自己的用户名信息


Ubuntu 15 安装Zsh与oh-my-zsh_第13张图片


保存、重新开个终端、会发现前面的信息就被去掉了。


Ubuntu 15 安装Zsh与oh-my-zsh_第14张图片



四、使用


1、zsh 的补全模式更方便


zsh 中按两下 tab 键可以触发 zsh 的补全,所有待补全项都可以通过键盘方向键或者 来选择。




2、zsh 支持命令选项补全


zsh 除了支持目录的补全,还支持命令选项的补全,例如 ls - 会直接列出所有 ls 的参数,再也不会出现一个命令打到一半,忘记参数导致重开一个 terminal man 一把。


Ubuntu 15 安装Zsh与oh-my-zsh_第15张图片


3、zsh 支持命令参数补全


以前想 kill 掉一个进程,我的做法是 ps aux | grep "进程名" 然后记下 id,再 kill id。在 zsh 下,只需要 kill 进程名,zsh 就会自动补全进程的 pid。


Ubuntu 15 安装Zsh与oh-my-zsh_第16张图片


4、zsh 支持更加聪明的目录补全


以前比如想进入一个比较深的目录,比如 /tmp/age/back/create/delete/efcs/fack/goo,就得在 bash 下面打半天,不停的 tab 去补全一个正确的路径出来。在 zsh 下,只需要输入每个路径的头字母然后 tab 一下: cd /a/b/c/d/e/f/g




你可能感兴趣的:(Ubuntu)