本文以CentOS 7/Mac 为例,介绍zsh的配置使用教程。html
echo $SHELL
复制代码
cat /etc/shells
复制代码
yum install zsh # CentOS
brew install zsh # mac安装
复制代码
zsh
设置为默认shellchsh -s /bin/zsh # CentOS
复制代码
# Mac以下
# 在 /etc/shells 文件中加入以下一行
/usr/local/bin/zsh
# 接着运行
chsh -s /usr/local/bin/zsh
复制代码
能够经过echo $SHELL
查看当前默认的shell,若是没有改成/bin/zsh
,那么须要重启shell。git
配置zsh是一件麻烦的事儿,爱折腾的程序猿怎么可能忍受?!因而,oh-my-zsh出现了,有了这个东东,zsh配置起来就方便多了!程序员
有若干安装方式,介绍三种: 1.自动安装github
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
复制代码
2.手动安装shell
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
复制代码
3.真-手动安装bash
~/.oh-my-zsh
目录。此处省略拷贝的操做步骤。cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
三选一便可,适合各类环境下的安装,而后须要source ~./.zshrc
将配置生效。如下修改了.zshrc
文件以后,都执行一下这个命令。oop
经过以下命令能够查看可用的Theme
:ui
# ls ~/.oh-my-zsh/themes
复制代码
如何修改zsh主题呢? 编辑~/.zshrc
文件,将ZSH_THEME="candy"
,即将主题修改成candy
。我采用的steeef
。this
在~/.zshrc
中找到plugins
关键字,就能够自定义启用的插件了,系统默认加载git
。spa
命令内容能够参考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
复制代码
完整列表:https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git
解压文件用的,全部的压缩文件,均可以直接x filename
,不用记忆参数
固然,若是你想要用tar
命令,可使用tar -
加tab
键,zsh会列出参数的含义。
按照官方文档介绍,须要使用以下命令安装,而不是一些博客中的介绍:
yum install autojump-zsh # CentOS
brew install autojump # Mac
复制代码
CentOS
安装好以后,须要在~/.zshrc
中配置一下,除了在plugins
中增长autojump
以外,还须要添加一行:
[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh
复制代码
安装好以后,记得source ~/.zshrc
,而后你就能够经过j+目录名
快速进行目录跳转。支持目录名的模糊匹配和自动补全。
j -stat
:能够查看历史路径库git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
复制代码
在 ~/.zshrc
中配置
plugins=(其余的插件 zsh-autosuggestions)
复制代码
由于箭头→
不太方便,在.zshrc
中自定义补全快捷键为逗号,可是又一次遇到了须要输入逗号的状况,因此,并不太推荐以下修改:
bindkey ',' autosuggest-accept
复制代码
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-open插件能够在你git项目下打开远程仓库浏览项目。
git clone https://github.com/paulirish/git-open.git $ZSH_CUSTOM/plugins/git-open
复制代码
bat
代替 cat
cat
某个文件,能够在终端直接输出文件内容,bat
相比 cat
增长了行号和颜色高亮 👍
brew install bat
复制代码
~/.zsh_history
文件中),方便再次运行以前的命令。能够按方向键↑和↓来查看以前执行过的命令r
来执行上一条命令ctrl-r
来搜索命令历史记录.zshrc
中添加 alias shortcut='this is the origin command'
一行就至关于添加了别名alias
能够查看全部的命令别名cd
命令了。在你知道路径的状况下,好比 /usr/local/bin
你能够输入cd /u/l/b
而后按进行补全快速输入kill <tab>
就会列出全部的进程名和对应的进程号ls -l **/*.sh
,能够递归显示当前目录下的 shell 文件,文件少时能够代替 find
。使用 **/
来递归搜索setopt HIST_IGNORE_DUPS
能够消除重复记录,也能够利用sort -t ";" -k 2 -u ~/.zsh_history | sort -o ~/.zsh_history
手动清除