zsh简介
Zsh是一个Linux下强大的shell, 由于大多数Linux产品安装,以及默认使用bash shell, 但是丝毫不影响极客们对zsh的热衷, 几乎每一款Linux产品都包含有zsh,通常可以用apt-get、urpmi或yum等包管理器进行安装
Zsh具有以下主要功能:
- 开箱即用、可编程的命令行补全功能可以帮助用户输入各种参数以及选项
- 在用户启动的所有shell中共享命令历史
- 通过扩展的文件通配符,可以不利用外部命令达到find命令一般展开文件名
- 改进的变量与数组处理
- 在缓冲区中编辑多行命令
- 多种兼容模式,例如使用/bin/sh运行时可以伪装成Bourne shell
- 可以定制呈现形式的提示符;包括在屏幕右端显示信息,并在键入长命令时自动隐藏
- 可加载的模块,提供其他各种支持:完整的TCP与Unix域套接字控制,FTP客户端与扩充过的数学函数
-
安装zsh
通过apt(
ubuntu
/debian
)或者yum(redhat
/centos
)安装zsh:sudo apt-get install zsh
将zsh配置为系统默认shell:
chsh -s `which zsh`
- 如果要切回到bash:
chsh -s /bin/bash
编辑
/etc/passwd
文件,修改root用户和当前用户的shell为:zsh
vim /etc/passwd
-
安装oh-my-zsh
直接使用命令的方式安装(官方源):
curl:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
wget:
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
如果国内访问
github
太慢或无法访问可以试试gitee
的镜像源:sh -c "$(wget -O- https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"
配置oh-my-zsh
设置主题
官方主题
oh-my-zsh集成了大量的主题, 位于
oh-my-zsh/theme
通过修改~/.zshrc
中的环境变量ZSH_THEME
来完成主题配置:
还可以把主题设置为ZSH_THEME="random"
,就可以由系统随机选择如果设置了
agnoster
主题,terminal中出现乱码,则是需要安装字体:sudo apt-get install fonts-powerline
推荐的官方主题:
第三方主题
从以往的经验来看,第三方提供的主题总是比官方主题要好看漂亮很多,因此,我毫不犹豫地使用了 powerlevel10k,同时也向大家推荐该主题,因为真的好看 。
安装:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
# 如果github连不上可以使用 Gitee 镜像
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
安装完毕后需要更改配置文件 ~/.zshrc,将其中 ZSH_THEME 的值改为 powerlevel10k/powerlevel10k,如下:
同时,记得重新加载配置文件哦~ source ~/.zshrc
第三方主题一般会被放到 ${ZSH}/custom/themes/ 目录下。
输入 p10k configure 命令对 powerlevel10k 根据自己的喜好进行配置
安装配置插件
所有插件都列在Plugins,自定义插件可以安装在〜/.oh-my-zsh/custom/plugins
中
要使用插件,只需将其添加到〜/.zshrc
文件中的插件列表即可。请按需添加,因为太多的插件会减慢shell的启动速度
插件之间使用空格分割
colored-man-pages
可以为man
手册提供高亮显示,自带插件添加到plugins中即可
zsh-syntax-highlighting
该插件可以为shell命令提供高亮显示,也可以根据颜色区分输入的命令是否正确
安装:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
zsh-autosuggestions
该插件可根据历史命令进行自动提示和补全
安装:
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions
extract
该插件可以在解压文件时使用 x + 文件名 的方式,会自动根据压缩文件的类型来匹配命令,自带插件添加到plugins中即可