zsh是shell的一种,由于配置过于复杂,以至于很多人并不常用他。因为大多数Linux产品,默认使用的都是bash shell。直到一个开源项目的出现(oh-my-zsh)
github来管理zsh的配置和支持更多插件,使得zsh配置变得更容易,使用起来更加强大。以至于他有了个外号—终极shell。
安装zsh
sudo apt install zsh
使用开源项目(oh-my-zsh)来帮我们配置zsh
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
安装 oh-my-zsh 时,它会自动读取你的环境变量并且自动帮 zsh 进行设置.
故此时的zsh 已基本配置完成。
查看已有的shell
更改默认shell到zsh
chsh -s /bin/zsh
配置zsh
此时已经看到shell已经改变,默认主题为robbyrussell,接下来我们还要再安装一些插件,更改外观让他变得更强大更好看。
zsh的配置文件在用户目录下的.zshrc里面
主题配置
更改主题只需在~/.zshrc 文件中 修改ZSH_THEME=”设置为你的主题”
而在~/.oh-my-zsh/themes下是各种的自带的主题(博主的是ys)。
设置方法如下如更改ZSH_THEME为自己的主题名即可
ZSH_THEME="ys"
当然要更新下配置文件
source ./zshrc
插件配置
添加插件只需在~/.zshrc 文件中
~/.oh-my-zsh/plugins里面有默认自带的近百的插件
添加方法如下 :
只需要在plugins=()中写上插件名,注意不同插件需要用空格分隔开,同理禁用插件只需取消插件名即可
因为zsh的插件实在是太强大了,此处就简单的介绍几个非常使用的。介绍的插件功能太多就简述一些:
git
zsh已默认添加git插件,当进入有git仓库的目录时,Shell会明确显示git和branch信息,另外会简化git的很多命令,可以 alias | grep git 查看到。自动补全
这可比tab的补全强大多了,这可是全自动的补全,不仅仅是对指令的补全,而且也会补全路径,文件名,最重要的是实时的,来张图看下效果吧.
加上tab体验飞的感觉吧!
当然前提是要安装,安装步骤如下:
1——在官网下载此插件
2——在官网copy后建议放在 ~/.oh-my-zsh/plugins/incr/incr-0.2.zsh(中间的目录是博主创建的便于管理)
3——赋予该文件777权限chmod 777 ~/.oh-my-zsh/plugins/incr/incr-0.2.zsh
4——然后在~/.zshrc文件中加入此句
source ~/.oh-my-zsh/plugins/incr/incr-0.2.zsh
5——更新下配置文件
source ./zshrc
注意>>>>>此插件会与一些插件冲突如下面介绍的第4个插件会让其显示不正常,也会让zsh自带的tab补全中可以方向键控制来选择目录(可以试试)也会失效,毕竟两种方式都是为了效率,就看各位如何取舍了
autojump
autojump插件使你能够快速切换路径,再也不需要逐个敲入目录,只需敲入目标目录,就可以迅速切换目录。
1——下载安装git clone git://github.com/joelthelion/autojump.git
进入autojump执行./install.py
2——添加配置
在~/.zshrc文件中加入此句[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh
3——更新下配置文件
source ./zshrc
样例>>>>>如果你之前打开过~/.oh-my-zsh/themes目录,现在只需敲入j themes就可以快速切换到~/.oh-my-zsh/themes目录。
如果加上tab就更强大了如下图
按下tab可以列出曾经进入过名字含c的目录就可以一键直达此目录zsh-syntax-highlighting (命令高亮 正确路径自带下划线)
1——下载安装git clone git://github.com/jimmijj/zsh-syntax-highlighting ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
2——-添加配置
在~/.zshrc文件中修改plugins加入此插件名plugins=(zsh-syntax-highlighting)
3——更新下配置文件source ./zshrc
效果如图
绿色为正确的命令红色为错误的命令,实时提示。更多实用插件待续