别让 cd 浪费你的时间
终端下工作最烦躁的就是路径切换,没有自动路径切换的帮助,就像在泥里走路,于是大家发明了各种 autojump / z / fasd 等工具来提升路径切换的效率,今天向大家介绍一个更好用的工具:z.lua,用熟练了以后就像终端里溜冰,路劲切换从此指哪打哪。
z.lua 是一个会学习你使用习惯的 cd
命令,它会跟踪你在 shell 下访问过的路径,通过一套称为 Frecent 的机制(源自 Mozilla),经过一段简短的学习之后,z.lua
会帮你跳转到所有匹配正则关键字的路径里 Frecent 值最高的那条路径去。
正则将按顺序进行匹配,”z foo bar” 可以匹配到 /foo/bar ,但是不能匹配 /bar/foo。
特性说明:
- 性能比 z.sh 快三倍,比 fasd / autojump 快十倍以上。
- 支持 Posix Shell:bash, zsh, dash, sh, ash, busybox 等等。
- 支持 Fish Shell,Power Shell 和 Windows cmd。
- 使用增强匹配算法,更准确的带你去到你想去的地方。
- 低占用,能够仅在当前路径改变时才更新数据库(将
$_ZL_ADD_ONCE
设成 1)。 - 交互选择模式,如果有多个匹配结果的话,跳转前允许你进行选择。
- 交互选择模式,支持使用 fzf 进行可视化结果筛选(可选)。
- 快速跳转到父目录,或者项目根目录,代替反复 “cd ../../..” 。
- 为不同的操作系统,不同的 Shell 程序提供统一的使用体验。
- 兼容 lua 5.1, 5.2 和 5.3 以上版本。
- 自包含且无额外依赖,单个
z.lua
文件完成所有工作。
软件安装:
将下面对应语句添加到你的 .bashrc
/ .zshrc
/ .profile
或者对应 shell 的初始化脚本末尾:
eval "$(lua /path/to/z.lua --init bash enhanced once echo)" # BASH 初始化
eval "$(lua /path/to/z.lua --init zsh enhanced once echo)" # ZSH 初始化
eval "$(lua /path/to/z.lua --init posix enhanced once echo)" # 其他 Posix Shell 初始化
source (lua /path/to/z.lua --init fish enhanced once echo | psub) # Fish Shell 初始化
iex ($(lua /path/to/z.lua --init powershell enhanced once echo) -join "`n") # Power Shell 初始化
然后重新登陆,即可使用。
……