或者使用下面语句:
进行初始化,他们是等效的,记得把上面的 bash 可以根据你的 shell 改为 zsh
或者 posix
。
对于一个给定的正则关键字序列(即 z 命令后面的参数),只有同时满足两个条件才算匹配成功:
- 正则关键字将按顺序进行匹配(这条和默认匹配法相同)。
- 最后一个关键字可以和路径名的最后一段相匹配。
如果两条规则同时启用找不到任何结果,那么将会退回到只用规则 1 进行筛选,这两条规则是参考 fasd 引入的。
如果没法匹配,同时又存在一条路径名和关键字相同,那么 cd 过去:
有时候如果你输入:
因此,在增强匹配算法中,你总可以象 cd 命令一样使用 z 命令,而不必当心目标路径是否被记录过。
忽略当前路径:
如果你使用
z xxx
但是当前路径恰好是最佳匹配结果,那么 z.lua 会使用次优结果进行跳转。假设有如下数据:10 /Users/Great_Wall/.rbenv/versions/2.4.1/lib/ruby/gems
默认情况下,当我使用
z gems
时,我会被带到/Library/Ruby/Gems/2.0.0/gems
,因为它有更高权重,但是可能并不是我想要去的地方,这时我按一下方向键上键,再次执行z gems
,那么我就能被带到/Users/Great_Wall/.rbenv/versions/2.4.1/lib/ruby/gems
目录中,而这正是我想去的地方。我当然可以每次使用
z env gems
来精确指明,但是每当我输入z xxx
我必然是想进行路径跳转的,而不是呆在原地,所以使用增强匹配模式,即便当前目录是最佳匹配,它也能懂得你想跳转的心思。