oh-my-zsh
- 一、Zsh简介
- 二、Zsh安装
- 2.1、环境
- 2.2、安装 zsh
- 2.3、安装git
- 2.4、安装oh-my-zsh
- 2.5、配置oh-my-zsh
- 2.5.1、插件
- 1.启动插件
- 2.查看插件数
- 3.zsh-autosuggestions
- 4. zsh-syntax-highlighting
- 5. autojump
- 2.5.2、主题
- 1. 查看主题数
- 2. 配置主题
- 三、快捷键
一、Zsh简介
使用 Linux 的人都知道:*Shell_ 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 的类型有很多种,linux 下默认的是 bash,虽然 bash 的功能已经很强大,但对于以懒惰为美德的程序员来说,bash 的提示功能不够强大,界面也不够炫,并非理想工具。
Zsh (opens new window) 也是一种 Shell(据传说 99% 的 Bash 操作 和 Zsh 是相同的),它的功能极其强大,只是配置过于复杂,起初只有极客才在用。后来,出现了一个名叫 oh-my-zsh (opens new window) 的开源项目,使用 zsh 就变得十分简易了。
二、Zsh安装
2.1、环境
- CentOS 8.2
- root用户
2.2、安装 zsh
先看下你的 CentOS 支持哪些 shell:cat /etc/shells
,正常结果应该是这样的:
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
如果已经有 zsh ,那么我们就不必安装了。
- CentOS 安装:
sudo yum install -y zsh
- Ubuntu 安装:
sudo apt-get install -y zsh
- 检查系统的 shell:cat /etc/shells,你会发现多了一个:/bin/zsh
2.3、安装git
yum install -y git
2.4、安装oh-my-zsh
curl或wget下载:
# wget
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
手动下载:
GitHub:https://github.com/ohmyzsh/ohmyzsh
Gitee:https://gitee.com/mirrors/oh-my-zsh/
将下载好的压缩包上传到服务器并解压:
yum install -y unzip
unzip oh-my-zsh-master.zip
运行脚本:
cd oh-my-zsh-mater/tools
./install.sh
2.5、配置oh-my-zsh
2.5.1、插件
oh-my-zsh插件列表
1.启动插件
# 编辑配置文件
vim ~/.zshrc
# 在配置文件中找到 类似如下结构:
plugins=(git)
# ()中的就是启用的插件
# 多个插件可以如下配置
plugins=(
git
bundler
dotenv
macos
rake
rbenv
ruby
)
2.查看插件数
# /root/soft/oh-my-zsh 为安装位置
ls -l /root/soft/oh-my-zsh/plugins |grep "^d"|wc -l
3.zsh-autosuggestions
这个插件会对历史命令一些补全。
# 安装
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-\~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# 编辑:
vim ~/.zshrc
# 找到如下这行,后面括号里面的后面添加:
plugins=( 前面的一些插件名称,换行,加上:zsh-autosuggestions)
# 刷新配置
source \~/.zshrc
安装并配置完成后,当你在命令行中输入命令时,zsh-autosuggestions 会自动显示建议。你可以通过按 → 键或 End 键来接受建议。
4. 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
# 编辑
vim \~/.zshrc
# 找到这一行,后括号里面的后面添加
plugins=( 前面的一些插件名称,换行,加上:zsh-syntax-highlighting)
# 刷新配置
source \~/.zshrc
5. autojump
这个插件会记录你常去的那些目录,然后做一下权重记录,你可以用这个命令看到你的习惯:j --stat
,如果这个里面有你的记录,那你就只要敲最后一个文件夹名字即可进入,比如我个人习惯的 program:j program
,就可以直接到:/usr/program
# 下载
wget https://github.com/downloads/wting/autojump/autojump_v21.1.2.tar.gz
# 解压
tar zxvf autojump_v21.1.2.tar.gz
# 进入解压目录后安装
cd autojump_v21.1.2/
./install.sh
# 刷新
source /etc/profile.d/autojump.sh
# 编辑配置文件
vim /root/.zshrc
2.5.2、主题
主题列表
1. 查看主题数
ls -l /root/.oh-my-zsh/themes |grep "^-"|wc -l
2. 配置主题
个人推荐的主题:
- ys
- agnoster
- avit
- blinks
# 编辑配置文件
vim ~/.zshrc
# 填写要应用的主题
ZSH_THEME="ys"
# 刷新配置
source ~/.zshrc
三、快捷键
- 使用 ctrl-r 来搜索命令历史记录。按完此快捷键后,可以输入关键命令词语,如果历史记录有含有此词语会显示出来。
- 命令别名: - 在命令行中输入 alias 可以查看已经有的命令别名 - 自己新增一些别名,编辑文件:vim ~/.zshrc,在文件加入下面格式的命令,比如以下是网友提供的一些思路:
alias cls='clear'
alias ll='ls -l'
alias la='ls -a'
alias grep="grep --color=auto"
alias -s html='vim' # 在命令行直接输入后缀为 html 的文件名,会在 Vim 中打开
alias -s rb='vim' # 在命令行直接输入 ruby 文件,会在 Vim 中打开
alias -s py='vim' # 在命令行直接输入 python 文件,会用 vim 中打开,以下类似
alias -s js='vim'
alias -s c='vim'
alias -s java='vim'
alias -s txt='vim'
alias -s gz='tar -xzvf' # 在命令行直接输入后缀为 gz 的文件名,会自动解压打开
alias -s tgz='tar -xzvf'
alias -s zip='unzip'
alias -s bz2='tar -xjvf'