CentOS7安装zsh和oh-my-zsh

默认的/bin/bash使用体验只能说一般般,还是zsh配合oh-my-zsh使用体验更好,推荐大家有兴趣的都可以尝试一下,这里记录一下,方便后面自己在其他CentOS系统上安装配置。如果能够帮到正在看这篇博客的你那么也是极好的!

  • 这篇博客是在CentOS 7.5系统上安装的,理论上大部分Linux发行版都可以安装(可能有细微的不同)。

1、安装zsh和oh-my-zsh

1.1 查看当前shell

[root@staryjie ~]# echo $SHELL
/bin/bash
[root@staryjie ~]#

1.2 安装zsh

[root@staryjie ~]# yum install -y zsh
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 zsh.x86_64.0.5.0.2-34.el7_8.2 将被 安装
--> 解决依赖关系完成

依赖关系解决

========================================================================================================================
 Package                架构                      版本                                 源                          大小
========================================================================================================================
正在安装:
 zsh                    x86_64                    5.0.2-34.el7_8.2                     updates                    2.4 M

事务概要
========================================================================================================================
安装  1 软件包

总下载量:2.4 M
安装大小:5.6 M
Downloading packages:
zsh-5.0.2-34.el7_8.2.x86_64.rpm                                                                  | 2.4 MB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : zsh-5.0.2-34.el7_8.2.x86_64                                                                         1/1
  验证中      : zsh-5.0.2-34.el7_8.2.x86_64                                                                         1/1

已安装:
  zsh.x86_64 0:5.0.2-34.el7_8.2

完毕!
[root@staryjie ~]#

1.3 查看系统中已经安装的shell

[root@staryjie ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/zsh  # 已经安装
[root@staryjie ~]#

1.4 切换shell

[root@staryjie ~]# chsh -s /bin/zsh
Changing shell for root.
Shell changed.
[root@staryjie ~]#

1.5 安装git

yum install -y git

1.6 安装oh-my-zsh(自动)

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

到这里oh-my-zsh已经安装完成了。

1.7 手动安装(可选)

git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

2、配置和优化oh-my-zsh

2.1 修改主题

2.1.1 查看有哪些主题
ls ~/.oh-my-zsh/themes/
# 具体有哪些主题可以在  ~/.oh-my-zsh/themes/目录下查看。

2.1.2 修改主题
vim ~/.zshrc
# ZSH_THEME 字段就是主题,根据上面查看到的主题中选一个自己喜欢的替换即可,默认主题是`robbyrussell`
# 如果想每次进入shell的时候随机使用一款主题,那么可以设置 ZSH_THEME="random"
# 个人比较喜欢 xiong-chiamiov 这款主题
# 修改完之后通过 source ~/.zshrc 即可让设置的主题生效,当然退出当前terminal重新登录也可以生效。

source ~/.zshrc

查看生效之后的主题:

2.2 配置别名

2.2.1 oh-myzsh自带的别名(很强大)

别名的配置在我们克隆的目录中也可以找到推荐的用法。比如git的别名配置就在:

cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh
2.2.2 自定义别名

也可以自定义别名,只需要在~/.zshrc中通过alias xx='xxxx'的形式配置即可,建议放在~/.zsrc文件的最下面。

3、插件安装和推荐

oh-my-zsh下载的时候已经自带了很多的插件可以供我们使用,有一些其他比较好的插件也可以自己下载安装使用。

在oh-my-zsh默认的配置中只启用了git插件:

3.1 extract

提供一个 extract 命令,以及它的别名 x。功能是:一!键!解!压!你知道tar的四种写法吗?我也不知道,所以我装了这个。从今以后 tar, gz, zip, rar 全部使用 extract 命令解压,再也不用天天查 cheatsheet 啦!

3.2 rand-quote

提供一条 quote 命令,显示随机名言。和fortune的作用差不多,但是我感觉fortune上面大多是冷笑话,还是quote的内容比较有意思。

当然这种东西很少有人会主动去按的。所以你可以在你的zshrc里面的最后一行加上quote,实现每次打开shell显示一条名言的效果~

再进一步,安装一个cowsay,把quote | cowsay放到zshrc的最后一行。于是每次打开终端你就可以看到一头牛对你说:

3.3 themes

提供一条 theme 命令,用来随时手动切换主题。在想要尝试各种主题的时候很实用,不需要一直改 zshrc 然后重载。

3.4 gitignore

提供一条 gi 命令,用来查询 gitignore 模板。比如你新建了一个 python 项目,就可以用:

 gi python > .gitignore 

3.5 cp

提供一个 cpv 命令,这个命令使用 rsync 实现带进度条的复制功能。

3.6 zsh_reload

提供一个 src 命令,重载 zsh。对于经常折腾 zshrc 的我,这条命令非常实用。

3.7 git-open

提供一个 git-open 命令,在浏览器中打开当前所在 git 项目的远程仓库地址。

3.8 z

提供一个 z 命令,在常用目录之间跳转。类似 autojump,但是不需要额外安装软件。

3.9 vi-mode

vim输入模式,非常强大,不用多说。

3.10 per-directory-history

开启之后在一个目录下只能查询到这个目录下的历史命令。按 Ctrl+g 开启/关闭。

3.11 command-not-found

当你输入一条不存在的命令时,会自动查询这条命令可以如何获得。

3.12 safe-paste

在你复制了一些网上或者自己的脚本到当前终端的时候这些脚本往往就会自动运行,很可能会造成一些系统故障之类的。这个插件就是为了防止这样的事情发生,当你粘贴一些脚本到终端时,它可以防止脚本立刻运行,给你检查和修改的机会。

3.13 colored-man-pages

当你使用man命令查看帮助文档的时候,这个插件可以给man文档提供不同的配色,使你看起来更加舒适和明了。

3.14 sudo

普通用户有时候需要执行一些命令需要在最前面加上sudo,但是很多时候我们会忘记加上它,有了这个插件,你只需要在输入完命令之后按两下Esc键,它会自动帮你加上sudo。

3.15 zsh-syntax-highlighting

代码语法高亮显示插件,毫无疑问,非常好用,但是需要自己安装。

安装方法官方文档:https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md

个人比较喜欢的安装方法:

# 1.进入oh-my-zsh自定义插件目录
cd ~/.oh-my-zsh/custom/plugins
# 2.拉取zsh-syntax-highlighting代码
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
# 3.在配置文件~/.zshrc中添加插件(注意:自定义安装的插件最好放在所有插件的最下方)
plugins=(
    git
    wd
    colored-man-pages
    yum
    bundler
    rand-quote
    extract
    themes
    gitignore
    zsh_reload
    per-directory-history
    zsh-syntax-highlighting
)
# 4.使插件生效(在配置文件最后加上下面这一行代码)
source ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

# 5.保存退出之后,source ~/.zshrc即可生效
source ~/.zshrc

3.16 zsh-autosuggestions

zsh的自动补全插件,可以根据你之前的使用习惯自动给你补全的建议,强烈建议安装。

官方安装文档:https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md

个人比较喜欢的安装方法:

# 1.进入oh-my-zsh自定义插件目录
cd ~/.oh-my-zsh/custom/plugins
# 2.拉取zsh-autosuggestions代码
git clone https://github.com/zsh-users/zsh-autosuggestions
# 3.在配置文件~/.zshrc中添加插件(注意:自定义安装的插件最好放在所有插件的最下方)
plugins=(
    git
    wd
    colored-man-pages
    yum
    bundler
    rand-quote
    extract
    themes
    gitignore
    zsh_reload
    per-directory-history
    zsh-syntax-highlighting
    zsh-autosuggestions
)
# 4.保存退出之后,source ~/.zshrc即可生效
source ~/.zshrc

当然还有其他非常优秀的插件,有兴趣的小伙伴可以去GitHub上找一下。

https://github.com/zsh-users (上面两个自己安装的插件都是这个大神开发的)

原文地址:https://www.cnblogs.com/jie-fang/p/13437335.html