什么是Zsh html
Zsh和bash同样,是一种Unix shell,但大多数Linux发行版本都默认使用bash shell。但Zsh有强大的自动补全参数、文件名、等功能和强大的自定义配置功能。python
替换Mac的bashlinux
Zsh虽然功能强大,但刚上手配置比较麻烦。别担忧,Github已经有开源项目oh-my-zsh。按照官方的文档安装,很是简单。git
1、使用curl自动安装github
curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | shdocker
2、手动安装shell
1.使用git clone 项目 vim
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zshruby
2.备份~/.zshrc文件bash
cp ~/.zshrc ~/.zshrc.orig
3.建立新的zsh配置文件
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
4.设置zsh为默认shell
chsh -s /bin/zsh
5.重启Terminal或新建一个Terminal就能够看到效果了
接下来配置适合本身Zsh
1.主题修改,我比较喜欢前面是$符号,因此选择了steeef这款主题
$ vim ~/.zshrc
配置文件里找到:
ZSH_THEME="robbyrussell"
修改成:
ZSH_THEME="steeef"
这里是官方提供的各类主题,有截图参考oh-my-zsh-themes
2.插件的选择,支持git、brew、vi、osx等插件,具体请查看这里oh-my-zsh-plugins
3.按两下tab会有惊喜,好比git
选择oh-my-zsh
oh-my-zsh是基于zsh的功能作了一个扩展,方便的插件管理、主题自定义,以及漂亮的自动完成效果。
在Github上找关于zsh的项目时发现的,试用了一下以为很方便,不用像上面文章里面提到的那么复杂,配置一些插件的名称便可使用相应的功能。
官网:https://github.com/robbyrussell/oh-my-zsh
评价:https://github.com/robbyrussell/oh-my-zsh/wiki/Testimonials
截图欣赏(Git插件):

再来一个自动完成:

定义hash快速进入目录:
在~/.zshrc中定义:
hash -d blog="/home/henryyan/work/blog/henryyan.github.com"

安装oh-my-zsh
进入Github的oh-my-zsh主页 https://github.com/robbyrussell/oh-my-zsh ,在下面有详细的安装方式。
自定义主题
在 https://github.com/robbyrussell/oh-my-zsh/wiki/themes 里面有不少主题能够选择,安装后只须要修改~/.zshrc的ZSH_THEME为文件夹的名称便可。
使用截图的主题
刚刚的几个截图的主题是我基于robbyrussell修改的,添加了当前登陆用户的名称和主机名称。
可是oh-my-zsh的做者太懒了,我在Github上Fork了项目而后提交我修改后的主题一直也没有合并,若是喜欢的话能够直接Clone个人oh-my-zsh分支,而后使用手动安装的方式安装oh-my-zsh;
手动安装完之后能够把当前的PATH变量设置到~/.zshrc中:
1
2
|
echo
"export PATH=$PATH"
>> ~/.zshrc
source
~/.zshrc
|
修改主题:
修改
ZSH_THEME
为kafeitu,
本身修改主题
若是提供的主题没有一个如意的(我就没有看中一个),你能够参考别人主题截图:https://github.com/robbyrussell /oh-my-zsh/wiki/themes 而后看一下对应的~/.oh-my-zsh/themes/foo 的源码,而后根据本身的须要自定义,最后再修改一下~/.zshrc的ZSH_THEME配置就能够了。
启用插件
在~/.oh-my-zsh/plugins/里面有不少插件能够选择启动,默认已经启用git插件,若是你像我同样是一个开发人员(Java),个人插件启用以下:
1
|
plugins=(ant mvn svn git)
|
Maven插件的截图

官方插件一览:https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins-Overview
插件安装方法
参考此处安装好 zsh 和 oh-my-zsh 后,打开文件~/.zshrc
,其中有以下行:
plugins=(git)
将须要的插件按空格分开,放于此处便可。个人配置以下:
plugins=(git extract z sublime)
修改完后,若是须要在当前shell中生效,须要执行
source ~/.zshrc
git
oh-my-zsh 默认开启的插件,提供了大量 git 的alias。
详细列表请参见:
https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git。
extract
功能强大的解压插件,全部类型的文件解压一个命令x
全搞定,不再须要去记tar
后面究竟是哪几个参数了。

强大的目录自动跳转命令,会记忆你曾经进入过的目录,用模糊匹配快速进入你想要的目录。
sublime
平时使用sublime比较多,该插件可使用命令行打开sublime。
经常使用命令以下:
st
st file_a
st dir_a
stt
各类命令自动补全插件
除上面各类经常使用的插件外,官方还提供了大量插件,大部分是针对某些功能的命令补全,如docker, python, pip, ruby, vagrant等。
虽然 oh-my-zsh 提供了不少插件,不过也不要贪多哦,大量的插件会拖慢打开的速度,所以只安装你经常使用的就行了。
安装zsh-syntax-highlighting插件
一样地,咱们要先下载它的源码,但在这里,咱们能够利用一下oh-my-zsh的插件管理功能:
cd ~/.oh-my-zsh/custom/plugins
git clone git://github.com/zsh-users/zsh-syntax-highlighting.git
而后,咱们打开~/.zshrc
文件,找到如下段落;
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git)
按照注释中的提示改为plugins=(git zsh-syntax-highlighting)
便可。
安装autojump插件。
一样地,咱们须要先下载源码:
git clone git://github.com/joelthelion/autojump.git
而后安装该程序:
cd autojump
./install.py
最后,咱们只需在~/.zshrc
文件中加入如下代码便可。
# install autojump
[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh
安装Powerline-Shell插件
其过程与autojump的安装基本相同,先下载源码:
git clone https://github.com/milkbikis/powerline-shell
再安装:
cd powerline-shell
./setup.py install
最后再配置~/.zshrc
文件,在其末尾加入以下代码:
# install powerline-shell
function powerline_precmd() {
PS1="$(powerline-shell --shell zsh $?)"
}
function install_powerline_precmd() {
for s in "${precmd_functions[@]}"; do
if [ "$s" = "powerline_precmd" ]; then
return
fi
done
precmd_functions+=(powerline_precmd)
}
if [ "$TERM" != "linux" ]; then
install_powerline_precmd
fi
而后在cygwin中,咱们就看到以下最终效果:
工欲善其事,必先利其器
,享受zsh带给你的快捷吧