Oh My Zsh自动补全


shell 有多种,大多数人接触比较多的是 bash, 不管是 mac 还是各个 linux 发行版,默认的 shell 基本都是 bash, 虽然 bash 功能已经丰富了,但对于极客们来说,界面不够炫,提示功能也不够强大。而 zsh 功能及其强大,只是配置过于复杂, 后来就有了 oh-my-zsh 开源项目,配置难度大大降低。

Github地址: https://github.com/robbyrussell/oh-my-zsh

安装

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

更改系统默认 shell

1
chsh -s /bin/zsh

更改zsh配置文件

1
vim ~/.zshrc

修改主题

1
ZSH_THEME="robbyrussell"

配置插件

oh-my-zsh 还支持插件,插件存放目录为:

1
~/.oh-my-zsh/plugins

这个目录中每个子目录都是一个插件,目录名即为插件名,默认不开启,需要在~/.zshrc中该配置开启,比如:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
plugins=(
git
git-flow
docker
kubectl
brew
npm
helm
zsh-autosuggestions
zsh-syntax-highlighting
)

这些插件可以给你常用的命令做用法提示,使用 tab 键触发。我这里再推荐另外三个不是内置的插件, 需要将它们单独下载到~/.oh-my-zsh/plugins并且加到上面的 plugins 配置列表中以启用插件:

插件功能地址
zsh-autosuggestions自动提示输入提示https://github.com/zsh-users/zsh-autosuggestions
zsh-syntax-highlighting高亮命令输入https://github.com/zsh-users/zsh-syntax-highlighting
zsh-history-substring-search查找匹配前缀的历史输入https://github.com/zsh-users/zsh-history-substring-search

zsh-autosuggestions默认使用方向右键来将建议的历史填充到命令行输入, 按这个键需要挪下右手,不方便,可以映射下,我这里使用ctrl+space

1
bindkey '^ ' autosuggest-accept

再给zsh-history-substring-search绑下快捷键,上下翻匹配输入前缀的历史输入,我这里使用ctrl+nctrl+p

1
2
bindkey -M emacs '^P' history-substring-search-up
bindkey -M emacs '^N' history-substring-search-down

注: 以上插件的快捷键绑定的配置写在~/.zshrcsource $ZSH/oh-my-zsh.sh这句下面的位置