zoxide 常用命令总结
4 分钟阅读
在 macOS 终端中,z 通常是一个非常强大的快速目录跳转命令,需要通过安装 Oh My Zsh 的 z 插件或 zoxide 来使用。它会记住你经常访问的文件夹,让你不用输入完整路径就能瞬间到达。
本文主要整理 zoxide 的常用命令。
一、日常目录跳转
z 关键词
跳转到匹配度和使用频率最高的目录:
z Picser
z Downloads
z projects frontend
多个关键词会按照出现顺序匹配路径:
z macos Picser
z 路径
像普通 cd 一样直接进入目录,同时让 zoxide 学习该路径:
z ~/Downloads
z ../Picser-Site
z -
返回上一次所在目录,作用类似:
cd -
z ..
进入上级目录,作用类似:
cd ..
zi 关键词
交互式选择匹配目录,通常需要安装 fzf:
zi Picser
zi project
当多个目录名称接近时特别有用,例如:
~/05.macos/Picser
~/05.macos/Picser/Picser-App
~/05.macos/Picser/Picser-Site
二、查询数据库
查看最终会匹配哪个目录
zoxide query Picser
只输出最佳匹配:
/Users/eric/01.HelloWord/05.macos/Picser
列出所有匹配目录
zoxide query -l Picser
同时显示目录分数
zoxide query -ls Picser
例如:
1108.0 /Users/eric/01.HelloWord/05.macos/Picser
140.0 /Users/eric/01.HelloWord/05.macos/Picser/Picser-App
分数越高,越容易成为 z Picser 的跳转目标。
显示已失效的目录记录
zoxide query -a Picser
-a 会包含数据库中存在、但文件系统中已经不存在的路径。
列出全部记录,包括失效路径和分数
zoxide query -als
交互式查询
zoxide query -i Picser
一般直接使用更短的命令:
zi Picser
限制查询范围
zoxide query --base-dir ~/01.HelloWord Picser
只查找该目录下的匹配路径。
排除某个目录
zoxide query --exclude ~/01.HelloWord/05.macos/Picser Picser
三、添加和提高目录权重
手动添加目录
zoxide add ~/Projects/MyApp
如果记录已经存在,会提高它的分数。
指定增加的分数
zoxide add -s 100 ~/Projects/MyApp
想让某个目录优先匹配,可以给予更高权重:
zoxide add -s 1000 ~/01.HelloWord/05.macos/Picser
然后检查:
zoxide query -ls Picser
四、删除目录记录
删除指定记录
zoxide remove ~/Projects/OldProject
这只会删除 zoxide 数据库记录,不会删除真实目录。
例如,移除干扰匹配的子目录:
zoxide remove ~/01.HelloWord/05.macos/Picser/Picser-App
删除多个记录
zoxide remove ~/Projects/OldApp ~/Projects/OldSite
清理已不存在的目录
先查看失效记录:
zoxide query -als
再逐个删除:
zoxide remove "/完整的失效目录路径"
五、直接编辑数据库
zoxide edit
这会使用系统配置的编辑器打开 zoxide 数据库记录,适合批量调整或删除记录。
可以通过 EDITOR 指定编辑器:
EDITOR=vim zoxide edit
或者:
EDITOR=nano zoxide edit
通常优先使用 zoxide add 和 zoxide remove,直接编辑数据库主要用于批量维护。
六、Shell 初始化
zsh
在 ~/.zshrc 中加入:
eval "$(zoxide init zsh)"
修改后重新加载:
source ~/.zshrc
bash
在 ~/.bashrc 中加入:
eval "$(zoxide init bash)"
fish
在 Fish 配置中加入:
zoxide init fish | source
使用 cd 替代 z
如果想让 zoxide 直接接管 cd:
eval "$(zoxide init zsh --cmd cd)"
不过这会改变原有 cd 行为。一般建议保留默认的 z,更容易区分普通跳转和智能跳转。
七、常用环境变量
跳转前显示目标路径
export _ZO_ECHO=1
加入 ~/.zshrc 后,执行 z Picser 时会先显示最终匹配的目录。
排除不希望记录的目录
export _ZO_EXCLUDE_DIRS="$HOME/Library/*:$HOME/.Trash/*"
多个规则使用冒号分隔。修改后执行:
source ~/.zshrc
指定数据库目录
export _ZO_DATA_DIR="$HOME/.local/share/zoxide"
除非需要同步或迁移数据库,否则通常不需要修改。
八、常用命令速查
z keyword # 智能跳转
zi keyword # 交互式选择
zoxide query keyword # 查看最终匹配
zoxide query -ls keyword # 查看所有候选及分数
zoxide add -s 1000 PATH # 添加或提高权重
zoxide remove PATH # 删除数据库记录
zoxide edit # 直接编辑数据库