补全功能

zsh/fish 的补全系统是比较完善的,使用 z foo<tab> 就能触发补全,显示一个列表:

补全功能 - 图1

再次按 <tab> 键,就可以用可视化的方式对列表进行选择。

在 bash 下面补全系统没有那么强大,所以 z.lua 引入了 fzf 补全,初始化时在 --init 后追加 fzf 关键字:

  1. eval "$(lua /path/to/z.lua --init bash enhanced once echo fzf)"

然后你在 bash 中,输入部分关键字后按 tab,就能把匹配的路径列出来:

补全功能 - 图2

有了 fzf 的帮助,bash 下补全也非常方便了。注意看左边的权重,fzf 搜索过滤的顺序是有讲究的,Frecent 权重越高的越靠前,不是乱排序的,更不是简单的按字符串字母排序。这里完全保证权重越高的路径越靠前。

z.lua 可以同 fz 协作以提供更好的补全结果,详细见 FAQ

注意:该功能在初始化 z.lua 之前,会检测 $PATH 中是否有 fzf 这个程序,有的话才启用。