博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
centos 7里安装zsh来提升shell的高逼格
阅读量:6691 次
发布时间:2019-06-25

本文共 1924 字,大约阅读时间需要 6 分钟。

zsh本体的安装

先用chsh -l查看当前的bash情况,如下:

[root@zabbix ~]# chsh -l/bin/sh/bin/bash/sbin/nologin/bin/dash/bin/tcsh/bin/csh/usr/bin/tmux[root@zabbix ~]#

如果是centos的话,使用yum install -y zsh来安装zsh,装完了zsh然后就是装oh my zsh,使用wget方法安装

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

再使用which zsh查看安装的zsh在/usr/bin/zsh,这个时候使用chsh -s /usr/bin/zsh,出现了Shell changed.这样就切换到了zsh界面,需要logout退出连接重进。

重新连接就会发现bash界面就变了,原本是路径的地方变成了一个小图标。界面主题是可以变化的,比如我个人比较喜欢af-magic这个模板,于是乎就把/root/.zshrc里的ZSH_THEME="robbyrussell"改成ZSH_THEME="af-magic",保存文件,再一次退出连接重新进入就能看见模板变化了。

如果在使用vim的时候发现了tab键的补全爆错_arguments:451: _vim_files: function definition file not found,如下图:

centos 7里安装zsh来提升shell的高逼格

这个时候需要把/root/.zcompdump改一个名字,比如叫.zcompdump-bak,然后重新ssh连接即可。

autojump插件安装

autojump这个插件安装之后,zsh会自动记录你访问过的目录,通过j + 目录名可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全,例如你访问过hadoop-1.0.0目录,输入j hado即可正确跳转。j –s可以看你的历史路径库,安装方法如下:

git clone git://github.com/joelthelion/autojump.git

然后在autojump目录里执行./install.sh,此时屏幕会出现如下的显示:

centos 7里安装zsh来提升shell的高逼格

把上面那个[[ -s /root/.autojump/etc/profile.d/autojump.sh ]] && source /root/.autojump/etc/profile.d/autojump.sh autoload -U compinit && compinit -u复制到/root/.zshrc的文件里,最好复制在source $ZSH/oh-my-zsh.sh这句话上面,保存之后source ~/.zshrc即可。

zsh-syntax-highlighting插件安装

这个插件安装之后主要效果就是命令高亮,如果是错误的命令,颜色是红色,正确的命令是绿色的,安装方法如下:

cd .oh-my-zsh/plugins    yum install -y git  #如果已经安装了git就不用执行的    git clone git://github.com/zsh-users/zsh-syntax-highlighting.git    source /root/.oh-my-zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh添加到 .zshrc 的最后面    source ~/.zshrc

效果立竿见影。

尾声

至此,你现在的zsh应该具备如下几个特性:

1、各种补全:路径补全、命令补全,命令参数补全,插件内容补全等等。触发补全只需要按一下或两下tab键,补全项可以使用ctrl+n/p/f/b上下左右切换。比如你想杀掉java的进程,只需要输入kill java + tab键,如果只有一个java进程,zsh会自动替换为进程的pid,如果有多个则会出现选择项供你选择。ssh + 空格 + 两个tab键,zsh会列出所有访问过的主机和用户名进行补全;
2、即使你没有安装autojump,只要输入d,就会列出你在这个回话中访问的目录,输入前面的序号,就可以直接跳转;
3、可以忽略cd命令, 输入..或者...和当前目录名都可以跳转;
当然,除了上面几点,zsh还有很多丰富的插件可以使用,这就需要继续的探索了...

参考资料

转载于:https://blog.51cto.com/chenx1242/2087255

你可能感兴趣的文章
CentOS7 安装 rabbitmq
查看>>
有效的java程序片段
查看>>
Java类排序_浅析
查看>>
图文详解如何修改git已提交记录的邮箱?
查看>>
配置SSH
查看>>
storm翻译(2):Concepts
查看>>
Exchange 2013文档之三:Exchange Server 2013在Windows 2012平台下部署
查看>>
Shell获取局域网指定IP地址的MAC和主机名,并插入数据库
查看>>
mysql安装记录文档
查看>>
Vmware /CentOS访问Windows中的文件
查看>>
pg9.5升级 到 pg11 的步骤
查看>>
09可靠消息最终一致性方案2--独立消息服务
查看>>
Linux系统下生成一个指定大小的文件和空间预留
查看>>
LNMP搭建9:Nginx日志切割
查看>>
智慧城市,城市建设规划的风向标!
查看>>
我的友情链接
查看>>
破解XP的登录密码简招
查看>>
(24)Poweshell中的if条件判断
查看>>
IE8 新建会话
查看>>
利用blink CEP实现流计算中的超时统计问题
查看>>