2019独角兽企业重金招聘Python工程师标准>>>
##先在centos中 ###首先先要安装zsh
yum install zsh -y
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
也可以用下面的用法
http://ohmyz.sh/
# sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
查看什么Theme可以用
# ls ~/.oh-my-zsh/themes
编辑~/.zshrc
更换zsh的theme的主题
ZSH_THEME="candy"
推荐
ZSH_THEME='ys'
ZSH_THEME='agnoster'
更换Plugin
plugins=(git z extract)
更换Plugin
plugins=(git git-flow mvn grails rvm history-substring-search github gradle svn node npm zsh-syntax-highlighting sublime)
# chsh -s /bin/zsh
官网
安装zsh后,终端mvn命令不能用问题解决
为何要换成zsh,主要是两点吧
3 使用技巧
连按两次Tab会列出所有的补全列表并直接开始选择,补全项可以使用 ctrl+n/p/f/b上下左右切换
命令选项补全。在zsh中只需要键入 tar - 就会列出所有的选项和帮助说明
命令参数补全。键入 kill 就会列出所有的进程名和对应的进程号
更智能的历史命令。在用或者方向上键查找历史命令时,zsh支持限制查找。比如,输入ls,然后再按方向上键,则只会查找用过的ls命令。而此时使用则会仍然按之前的方式查找,忽略 ls
多个终端会话共享历史记录
智能跳转,安装了 autojump 之后,zsh 会自动记录你访问过的目录,通过 j 目录名 可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全,例如你访问过 hadoop-1.0.0 目录,输入j hado 即可正确跳转。j --stat 可以看你的历史路径库。
目录浏览和跳转:输入 d,即可列出你在这个会话里访问的目录列表,输入列表前的序号,即可直接跳转。
在当前目录下输入 .. 或 ... ,或直接输入当前目录名都可以跳转,你甚至不再需要输入 cd 命令了。在你知道路径的情况下,比如 /usr/local/bin 你可以输入 cd /u/l/b 然后按进行补全快速输入
通配符搜索:ls -l **/*.sh,可以递归显示当前目录下的 shell 文件,文件少时可以代替 find。使用 **/ 来递归搜索
扩展环境变量,输入环境变量然后按 就可以转换成表达的值
在 .zshrc 中添加 setopt HIST_IGNORE_DUPS 可以消除重复记录,也可以利用 sort -t ";" -k 2 -u ~/.zsh_history | sort -o ~/.zsh_history 手动清除
卡顿现象,发现每次执行命令都要运行git 检查status信息,可以使用下面命令
关闭
git config --global oh-my-zsh.hide-status 1
打开
git config --global oh-my-zsh.hide-status 0
# root @ WENGINE in /var/www/html on git:feature-apply_config x [13:32:48]
$ git config --global oh-my-zsh.hide-status 1
# root @ WENGINE in /var/www/html [13:33:24]
$ git config --global oh-my-zsh.hide-status 0
# root @ WENGINE in /var/www/html on git:feature-apply_config x [13:33:33]
$
incr.zsh 补全插件
下载此插件:
$ wget http://mimosa-pudica.net/src/incr-0.2.zsh
将此插件放到oh-my-zsh目录的插件库下:
# root @ linux in ~/.oh-my-zsh/plugins/incr on git:master x [15:05:07]
$ ls root@linux
incr-0.2.zsh
在~/.zshrc文件末尾加上
source ~/.oh-my-zsh/plugins/incr/incr*.zsh
更新配置:
$ source ~/.zshrc
接下来你就可以体验到Your terminal never felt this good before...
与vim的提示相冲突的解决方案
使用自动补全插件可能会与vim的提示功能相冲突,如会报以下错误:
$ vim t
_arguments:451: _vim_files: function definition file not found
解决方法:将~/.zcompdump*删除即可
$ rm -rf ~/.zcompdump*
$ exec zsh
##在ubuntu中 sudo apt-get install zsh
2.3 取代bash,设为默认shell sudo usermod -s /bin/zsh username 1 或者
chsh -s /bin/zsh 1 chsh -s which zsh
1 如果要切换回去bash:
chsh -s /bin/bash 1 当然你实在不愿意把zsh当成默认的shell, 而又想使用它, 那么你可以每次进入是都使用zsh进入, 而输入exit退出
2.4 安装oh-my-zsh 直接用zsh会很蛋疼,因为zsh功能很强大但是太复杂,所以需要oh-my-zsh来将它简单化
直接用git从github上面下载包
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh 1 备份已有的zshrc, 替换zshrc
cp ~/.zshrc ~/.zshrc.orig cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc 1 2 直接使用脚本安装
cd oh-my-zsh/tools ./install.sh 1 2 你可以直接直接使用如下命令安装
curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 1 wget
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" 1 其本质就是下载并执行了github上的install.sh脚本, 该脚本位于oh-my-zsh/tools/install.sh
oh-my-zsh集成了大量的主题, 位于oh-my-zsh/theme
配置主题, 可以通过修改~/.zshrc中的环境变量ZSH_THEME来完成
ZSH_THEME="agnoster" # (this is one of the fancy ones) 1 如果你觉得主题太多你可以选择使用随机模式, 来由系统随机选择
ZSH_THEME="random" # (...please let it be pie... please be some pie..) 1
详细的主题信息, 可以参见zsh主题介绍
配置插件
修改~/.zshrc中plugins
plugins=(git bundler osx rake ruby) 1 详细的插件信息, 可以参见zsh插件Plugins介绍
更新oh-my-zsh
默认情况下, 您将被提示检查每几周的升级. 如果你想我ZSH自动升级本身没有提示你, 修改`~/.zshrc
disable_update_prompt = true 1 禁用自动升级, 修改~/.zshrc
disable_auto_update = true 1 当然你也可以选择手动更新
如果你想在任何时间点升级(也许有人刚刚发布了一个新的插件,你不想等待一个星期?)你只需要运行:
upgrade_oh_my_zsh 1 卸载oh-my-zsh
如果你想卸载oh-my-zsh, 只需要执行uninstall_oh_my_zsh zsh, 从命令行运行. 这将删除本身和恢复你以前的bash或者zsh配置.
uninstall_oh_my_zsh zsh 1 此外, 更多任性的功能, 速度来感受吧
兼容 bash,原来使用 bash 的兄弟切换过来毫无压力,该咋用咋用。
强大的历史纪录功能,输入 grep 然后用上下箭头可以翻阅你执行的所有 grep 命令。
智能拼写纠正,输入gtep mactalk * -R,系统会提示:zsh: correct ‘gtep’ to ‘grep’ [nyae]? 比妹纸贴心吧,她们向来都是让你猜的……
各种补全:路径补全、命令补全,命令参数补全,插件内容补全等等。触发补全只需要按一下或两下 tab 键,补全项可以使用 ctrl+n/p/f/b上下左右切换。比如你想杀掉 java 的进程,只需要输入 kill java + tab键,如果只有一个 java 进程,zsh 会自动替换为进程的 pid,如果有多个则会出现选择项供你选择。ssh + 空格 + 两个tab键,zsh会列出所有访问过的主机和用户名进行补全
智能跳转,安装了autojump之后,zsh 会自动记录你访问过的目录,通过 j + 目录名 可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全,例如你访问过hadoop-1.0.0目录,输入j hado 即可正确跳转。j –stat 可以看你的历史路径库。
目录浏览和跳转:输入 d,即可列出你在这个会话里访问的目录列表,输入列表前的序号,即可直接跳转。
在当前目录下输入 .. 或 … ,或直接输入当前目录名都可以跳转,你甚至不再需要输入 cd 命令了。
通配符搜索:ls -l */.sh,可以递归显示当前目录下的 shell 文件,文件少时可以代替 find,文件太多就歇菜了。
更强的别名
插件支持