为 zsh 实现 fish shell 的效果

在 mac 上我一直用 zsh,不过我发现了 fish shell,被他的一个功能给吸引了,他的智能提示功能非常好用,我们看下效果

他会自动从你的历史命令记录中找到与你输入的命令匹配的显示出来,然后你如果确定是这条,就直接 ctrl+e 跳到行尾这条命令就算输入完了,是不是很厉害。不过fish 的语法和 bash 不兼容,我写的 shell 脚本无法运行,不能仅仅因为他的这个功能我就要重新去学他的语法。这成本太高。但是这个功能确实能够大大提升工作效率,怎么办呢?于是 google github 找到了一个zsh 的插件。

zsh-users

在github 发现了一个项目叫 zsh-users

上面的介绍说是:Zsh community projects,感觉是非官方的项目。

里面有两个插件:

zsh-autosuggestions

git clone git://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions

source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh

zsh-syntax-highlighting

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc

 source ./zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

安装起来非常简单,clone到$ZSH_CUSTOM/plugins目录,然后在.zshrc文件正配置一下即可。

最终效果就是如开始的那样,你可以试试哦!