z.lua 是一个快速路径切换工具,它会跟踪你在 shell 下访问过的路径,经过一段简短的学习之后,z.lua 会帮你跳转到所有匹配正则关键字的路径里最高频的那条路径去。
正则将按顺序进行匹配,"z foo bar"
可以匹配到 /foo/bar
,但是不能匹配 /bar/foo
。
项目地址:[github.com/skywind3000/z.lua](https://github.com/skywind3000/z.lua
特性
- 性能比 z.sh 快三倍,比 fasd / autojump 快十倍以上。
- 支持 Posix Shell:bash, zsh, dash, sh, ash, busybox 等等。
- 支持 Fish Shell,Power Shell 和 Windows cmd。
- 使用增强匹配算法,更准确的带你去到你想去的地方。
- 低占用,能够仅在当前路径改变时才更新数据库(将
$_ZL_ADD_ONCE
设成 1)。 - 交互选择模式,如果有多个匹配结果的话,跳转前允许你进行选择。
- 集成 fzf (可选),可以用来做可视化选择或者参数补全。
- 快速跳转到父目录,或者项目根目录,代替反复 “cd ../../..” 。
- 自包含且无额外依赖,单个
z.lua
文件完成所有工作。
安装
Posix Shells(Bash、zsh、dash、sh 或 BusyBox 等):
在你的
.bashrc
,.zshrc
或者.profile
文件中按 shell 类型添加对应语句:1
2
3eval "$(lua /path/to/z.lua --init bash)" # BASH 初始化
eval "$(lua /path/to/z.lua --init zsh)" # ZSH 初始化
eval "$(lua /path/to/z.lua --init posix)" # Posix shell 初始化Power Shell:
在你 Power Shell 的配置文件
profile.ps1
中放入下面语句:1
iex ($(lua /path/to/z.lua --init powershell) -join "`n")
Windows cmder:
- 将 z.lua 和 z.cmd 拷贝到 cmder/vendor 目录中。
- 将 cmder/vendor 添加到环境变量
%PATH%
里面。 - 保证 lua 命令在你的
%PATH%
环境变量中。
使用
1 | z foo # 跳转到包含 foo 并且权重(Frecent)最高的路径 |
Alias
通过设置别名可以快速打出的自定义的选项,比如
1 | alias zc='z -c' # 严格匹配当前路径的子路径 |
搭配 fzf 使用 更佳哦(fzf请查看笔者另一文章)
1 | 搭配 fzf 进行历史路径模糊匹配: |
更多
更多优秀内容,可以通过 关注微信公众号【极客收藏夹】 获取哦!