z.lua 是一个快速路径切换工具,它会跟踪你在 shell 下访问过的路径,经过一段简短的学习之后,z.lua 会帮你跳转到所有匹配正则关键字的路径里最高频的那条路径去。
正则将按顺序进行匹配,"z foo bar" 可以匹配到 /foo/bar ,但是不能匹配 /bar/foo。
项目地址:[github.com/skywind3000/z.lua](github.com/skywind3000…
特性
- 性能比 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 类型添加对应语句:eval "$(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中放入下面语句:iex ($(lua /path/to/z.lua --init powershell) -join "`n") -
Windows cmder:
- 将 z.lua 和 z.cmd 拷贝到 cmder/vendor 目录中。
- 将 cmder/vendor 添加到环境变量
%PATH%里面。 - 保证 lua 命令在你的
%PATH%环境变量中。
使用
z foo # 跳转到包含 foo 并且权重(Frecent)最高的路径
z foo bar # 跳转到同时包含 foo 和 bar 并且权重最高的路径
z -r foo # 跳转到包含 foo 并且访问次数最高的路径
z -t foo # 跳转到包含 foo 并且最近访问过的路径
z -l foo # 不跳转,只是列出所有匹配 foo 的路径
z -c foo # 跳转到包含 foo 并且是当前路径的子路径的权重最高的路径
z -e foo # 不跳转,只是打印出匹配 foo 并且权重最高的路径
z -i foo # 进入交互式选择模式,让你自己挑选去哪里(多个结果的话)
z -I foo # 进入交互式选择模式,但是使用 fzf 来选择
z -b foo # 跳转到父目录中名称以 foo 开头的那一级
更多
更多优秀工具,请关注微信公众号获取