z.lua 第四弹:补全系统完善, fzf-补全,更多 shell 支持

2019-02-11 12:53:31 +08:00
 skywind3000

更多 shell 支持

补全功能

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

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

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

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

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

有了 fzf 的帮助,bash 下补全也非常方便了。

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

2520 次点击
所在节点    Linux
5 条回复
azh7138m
2019-02-11 14:04:41 +08:00
这个我想扩展要怎么做呢?
之前看介绍说,可以快速回到一个有 .git 的父目录,我想加一个回到有 package.json 的父目录。
skywind3000
2019-02-11 14:07:24 +08:00
@azh7138m 你可以设置环境变量,逗号分隔即可:

export _ZL_ROOT_MARKERS=".git,.svn,.hg,.root,package.json"
skywind3000
2019-02-11 14:17:59 +08:00
@azh7138m 我已经更新文档,加入了这部分说明。
azh7138m
2019-02-11 14:20:53 +08:00
@skywind3000 我寻思着,这个时间点,是不是就算摸鱼了🤣
skywind3000
2019-02-11 14:22:23 +08:00
利用吃饭时间更新的,哈哈。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/533904

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX