终端-快速目录跳转-z_lua

z.lua 是一个快速路径切换工具,它会跟踪你在 shell 下访问过的路径,通过一段简短的学习以后,z.lua 会帮你跳转到全部匹配正则关键字的路径里最高频的那条路径去。git

正则将按顺序进行匹配,"z foo bar" 能够匹配到 /foo/bar ,可是不能匹配 /bar/foogithub

Untitled4

项目地址:[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 等):shell

    在你的 .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:bash

    在你 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 开头的那一级
复制代码

更多

更多优秀工具,请关注微信公众号获取性能

wx
相关文章
相关标签/搜索