oh-my-zsh,让你的终端从未这么爽过

oh my zsh

shell的类型有很多种,linux下默认的是bash,虽然bash的功能已经很强大,但对于以懒惰为美德的程序员来说,bash的提示功能不够强大,界面也不够炫,并非理想工具。

而zsh的功能极其强大,只是配置过于复杂,起初只有极客才在用。后来,有个穷极无聊的程序员可能是实在看不下去广大猿友一直只能使用单调的bash, 于是他创建了一个名为oh-my-zsh的开源项目...

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

自此,只需要简单的安装配置,小白程序员们都可以用上高档大气上档次,狂拽炫酷吊炸天的oh my zsh

http://ohmyz.sh/

安装zsh

以centos7为例:

查看系统当前使用的shell

$ echo $SHELL 
/bin/bash

查看系统是否安装了zsh

$ cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh

centos7默认情况下没安装zsh

用yum安装zsh

$ yum -y install zsh

查看shell列表

$ cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
/bin/zsh

切换shell为zsh

$ chsh -s /bin/zsh
Changing shell for root.
Shell changed.

重启服务器后,可使用reboot

重启后,查看当前shell

$ echo $SHELL 
/bin/zsh

安装 oh my zsh

oh-my-zsh源码是放在github上,先确保你的机器上已安装了git

安装:

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

成功界面:

  ____  / /_     ____ ___  __  __   ____  _____/ /_  
 / __ \/ __ \   / __ `__ \/ / / /  /_  / / ___/ __ \ 
/ /_/ / / / /  / / / / / / /_/ /    / /_(__  ) / / / 
\____/_/ /_/  /_/ /_/ /_/\__, /    /___/____/_/ /_/  
                        /____/                       ....is now installed!
Please look over the ~/.zshrc file to select plugins, themes, and options.

p.s. Follow us at https://twitter.com/ohmyzsh.

p.p.s. Get stickers and t-shirts at http://shop.planetargon.com.

接下来只需简单的配置,就可以享受oh-my-zsh的强大

主题选择

oh-my-zsh有很多漂亮的主题:

主题列表

我使用的主题是ys

http://blog.ysmood.org/my-ys-terminal-theme/

http://blog.ysmood.org/my-ys-terminal-theme/

修改主题:

$ vim ~/.zshrc

ZSH_THEME改成ys

ZSH_THEME="ys"

更新配置:

$ source ~/.zshrc   

自动补齐插件

linux不少命令的参数很多,不可能一一记住,常规的查看手册又觉得慢。如果你也有这种苦恼,那么我相信你会爱上oh-my-zsh

一图胜千言

自动补全的插件

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

欢迎访问我的博客原文

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏扎心了老铁

使用beanstalkd实现定制化持续集成过程中pipeline

持续集成是一种项目管理和流程模型,依赖于团队中各个角色的配合。各个角色的意识和配合不是一朝一夕能练就的,我们的工作只是提供一种方案和能力,这就是持续集成能力的服...

3257
来自专栏微服务生态

深入浅出Netflix Conductor使用

Netflix Conductor框架是典型的服务编排框架,通过Conductor还可以实现工作流和分布式调度,性能非常卓越。

3153
来自专栏大宽宽的碎碎念

为什么DB连接管理一般不采用IO多路复用?

3088
来自专栏社区的朋友们

TAF 必修课(六):容错

上一节简单提到了客户端在选取 Invoker 节点时,会对 Invoker 列表执行死活检查,屏蔽掉一定时间内异常的节点,从而达到容灾的目的。下面对 TAF 容...

3130
来自专栏Kevin-ZhangCG

[ SSH框架 ] Hibernate框架学习之一

2418
来自专栏喔家ArchiSelf

老码眼中的Git

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。大神就是大神,在开发了Linux之后,Git 是...

912
来自专栏IT技术精选文摘

Hbase 技术细节笔记(上)

前言 最近在跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hbase的理解,对相关知识点做了笔记,并在组内...

2299
来自专栏琯琯博客

awesome-php-cn软件资源

PHP 资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库、配置工具、Web 工具、书籍、电子书、经典博文等。 依赖管理 依赖和包管理库 Com...

3695
来自专栏Jaycekon

Python-WXPY实现微信监控报警

概述:   本文主要分享一下博主在学习wxpy 的过程中开发的一个小程序。博主在最近有一个监控报警的需求需要完成,然后刚好在学习wxpy 这个东西,因此很巧妙的...

1.4K8
来自专栏喔家ArchiSelf

老曹眼中的Git

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。大神就是大神,在开发了Linux之后,Git 是...

763

扫码关注云+社区