z api 能直接跳过去,前提是你之前 cd 进过它至少一次。zoxide 记的是"你常去的路",不是"你想去的路",这点跟你说的"替你记住"稍有出入——它记的是行为,不是意图。
顺着模糊匹配补个更准的说法:zoxide 默认是子串匹配 + frecency 排序(frecency = frequency 频率 + recency 新鲜度,靠这两样加权打分),不是 fzf 那种真·乱序模糊。打一半能认,是因为子串命中了;你要是习惯 fzf 的模糊(zaip 也能命中 api),得靠 zi 走 fzf 那一层才行。
几个第一次用容易懵的地方:
简单说- 同关键字撞车。~/projects/backend/api 和 ~/notes/api 都含 api,z api 永远去分数高的那个。想精确就多加词,z backend api。
- 分数会衰减。recency 权重不低,半年没碰的老目录会被新去的顶下去。长期项目反而得偶尔 z 一下续命。
- 数据库在本机 ~/.local/share/zoxide,换机器不带走。多端同步得自己扔进 dotfiles 或者软链。
想让它更像"真记住",两招:把 zoxide init 的输出写进 rc,再把 cd 别名成 z,这样手动 cd 也在训练库;冷门但重要的路径(比如一年改两次的配置)提前 zoxide add 灌进去,别等要用才想起来。简单说
它算是 autojump 和 rupa 的 z.sh 的 Rust 后继,思路一脉相承,纯快。你这套 z + fzf 已经够顺手,我唯一会多按一下的是 zi 出列表挑,比盲打关键字稳。
你那个"省下力气听歌跳舞"我赞成,工具就该这样,脑子留给高兴的事。