废话:
最近在工作中看到有同事在使用zsh,感觉非常奈斯,做个笔记记录一下,很多都是在网上查找来的,亲身实践过,并将自己遇到的坑总结到一起,方便以后查看使用
安装方法
dnf install zsh
问题1:
-bash: dnf: command not found
解决方法:
yum install dnf
先启动一个终端窗口MobaXterm
查看zsh位置
$ which zsh
查询shell文件
$ cat /etc/shells
设置zsh为默认shell
chsh -s /usr/bin/zsh
查看当前环境shell
echo $SHELL
你会发现当前shell仍然是bin/bash
解决方法为,关闭当前的shell,再重新开一个就可以了
文章中介绍,首次启动会要求设置,但我并没有遇到,原因不详,待后续研究,这里先做记录
首次启动 Zsh 时,会要求你选择一些配置选项。这些都可以在以后更改,因此请按 1 继续。
This is the Z Shell configuration function for new users, zsh-newuser-install. (q) Quit and do nothing. (0) Exit, creating the file ~/.zshrc (1) Continue to the main menu.
偏好设置分为四类,因此请从顶部开始。
- 第一个类使你可以选择在 shell 历史记录文件中保留多少个命令。默认情况下,它设置为 1,000 行。
- Zsh 补全是其最令人兴奋的功能之一。为了简单起见,请考虑使用其默认选项激活它,直到你习惯了它的工作方式。按 1 使用默认选项,按 2 手动设置选项。
- 选择 Emacs 式键绑定或 Vi 式键绑定。Bash 使用 Emacs 式绑定,因此你可能已经习惯了。
- 最后,你可以了解(以及设置或取消设置)Zsh 的一些精妙的功能。例如,当你提供不带命令的非可执行路径时,可以通过让 Zsh 来改变目录而无需你使用 cd 命令。要激活这些额外选项之一,请输入选项号并输入 s 进行设置。请尝试打开所有选项以获得完整的 Zsh 体验。你可以稍后通过编辑 ~/.zshrc 取消设置它们。
要完成配置,请按 0。
配置方法
使用oh-my-zsh使zsh的配置更简单
1、安装oh-my-zsh(网上有三种方法,都记录,我使用的是第二种)
- 自动安装
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
- 手动安装
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
- 真-手动安装
在oh-my-zsh的github主页,手动将zip包下载下来。
将zip包解压,拷贝至~/.oh-my-zsh目录。此处省略拷贝的操作步骤。
执行cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
2、使配置生效(后面没修改一次配置都需要使配置生效)
source ~/.zshrc
3、修改zsh主题
查看zsh可用的Theme
ls ~/.oh-my-zsh/themes
vi ~/.zshrc
将ZSH_THEME=“candy”,即将主题修改为candy,并使配置生效
效果
zsh扩展插件
autojump
- 下载autojump
git clone git://github.com/joelthelion/autojump.git
- 先跳转到autojump的根目录下
cd autojump
- 安装
./install.py
编辑 .zshrc文件
vi ~/.zshrc
将下面内容拷贝到.zshrc末尾
[[ -s /root/.autojump/etc/profile.d/autojump.sh ]] && source /root/.autojump/ etc/profile.d/autojump.sh
source ~/.zshrc
验证
1、版本验证,输入j -v
2、功能验证,使用j+目录名快速进行目录跳转
3、j --stat:可以查看历史路径库
zsh-syntax-highlighting(语法高亮插件)
- 作用
当输入的命令错误时,会高亮提示,当正确时会显示绿色 - 下载插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
- ~/.zshrc文件中配置如下,并使配置生效:
plugins=(其他的插件 zsh-syntax-highlighting)
- 效果
git插件
命令内容可以参考cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh。
- 常用命令
gapa git add --patch
gc! git commit -v --amend
gcl git clone --recursive
gclean git reset --hard && git clean -dfx
gcm git checkout master
gcmsg git commit -m
gco git checkout
gd git diff
gdca git diff --cached
gp git push
grbc git rebase --continue
gst git status
gup git pull --rebase
使用方法
命令历史记录
- 一旦在 shell 敲入正确命令并能执行后,shell 就会存储你所敲入命令的历史记录(存放在~/.zsh_history 文件中),方便再次运行之前的命令。可以按方向键↑和↓来查看之前执行过的命令
- 可以用 r来执行上一条命令
- 使用 ctrl-r 来搜索命令历史记录
命令别名
可以简化命令输入,在 .zshrc 中添加 alias shortcut=‘this is the origin command’ 一行就相当于添加了别名
在命令行中输入 alias 可以查看所有的命令别名
用法
- 通配符搜索:ls -l **/*.sh,可以递归显示当前目录下的 shell 文件,文件少时可以代替 find。使用 **/ 来递归搜索
- 命令选项补全。在zsh中只需要键入 tar - 就会列出所有的选项和帮助说明
参考以下文章:
http://www.sohu.com/a/342833926_100034897
http://www.pgygho.com/help/fwq/13943.html