zoxide 速查表
zoxide 是一个更智能的 cd 命令,基于访问频率和最近使用情况快速跳转到常用目录。支持模糊匹配,告别 `cd ../../..`。38K+ GitHub Stars,支持 bash、zsh、fish、powershell、nushell 等所有主流 shell。
快速入门
``bash
z projects # 跳转到最优匹配的目录
z my project # 多关键字搜索
zi # 交互式选择(fzf)
zoxide add /opt/myapp # 手动添加目录
eval "$(zoxide init zsh)" # 在 shell 中启用
`
安装与配置
安装 zoxide 并集成到你的 shell 中。
`bash
# 安装(包管理器)
curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
# 或者:brew install zoxide、winget install zoxide 等
# 添加到 shell 配置(bash) echo 'eval "$(zoxide init bash)"' >> ~/.bashrc
# 添加到 shell 配置(zsh) echo 'eval "$(zoxide init zsh)"' >> ~/.zshrc
# 添加到 fish echo 'zoxide init fish | source' >> ~/.config/fish/config.fish
# 从原始 z 或 autojump 迁移
zoxide import ~/.z
`
基础用法
用最少的按键在文件系统中快速跳转。
`bash
z projects # 模糊跳转到 ~/work/projects
z myproject # 跳转到 ~/src/myproject
z my project # 多关键字匹配 ~/my_projects
z foo/bar # 子路径匹配
zoxide add . # 将当前目录添加到数据库
zoxide add /opt/myapp # 添加指定目录
zoxide remove /tmp/old # 从数据库中移除目录
`
交互模式
当模糊匹配返回太多选项时,使用 fzf 驱动的交互式选择。
`bash
zi # 交互式目录选择器
zi docs # 交互式,按 "docs" 过滤
zoxide query -i work # 交互式查询模式
`
查询选项
直接查询数据库而不跳转。
`bash
zoxide query docs # 打印 "docs" 的最佳匹配(不跳转)
zoxide query -l project # 列出 "project" 的所有匹配
zoxide query -i work # 使用 fzf 交互式查询
zoxide query -exclude /tmp project # 从查询中排除某目录
`
配置
自定义 zoxide 行为以适配你的工作流。
`bash
# 使用不同的命令名(例如用 'j' 代替 'z')
eval "$(zoxide init zsh --cmd j)"
# 不注册默认命令(手动设置) eval "$(zoxide init zsh --no-cmd)"
# 设置自定义数据库路径 export _Z_DATA=$HOME/.zoxide_db
# 配合 fish 使用 zoxide init fish | source
# 配合 PowerShell 使用
iex (zoxide init powershell | Out-String)
`
专家技巧
`bash
# 跳转到第二匹配结果
z foo bar
# 配合 fzf 进行高级过滤 z foo | fzf --preview 'ls -la {1}'
# 批量添加多个目录 find . -type d -maxdepth 1 | xargs -I{} zoxide add {}
# 备份数据库 cp "$(_Z_DATA:-$HOME/.local/share/zoxide/db.zo)" ~/zoxide_backup.zo
# 在脚本中使用(非交互模式) cd "$(zoxide query -l project | head -1)" ``
基本使用(8)
| 命令 | 难度 | ||
|---|---|---|---|
z --help显示 zoxide 帮助 | 基础 | z --help | |
z DIR跳转到最匹配的目录 | 基础 | z projects | |
z foo bar用多个关键字精确匹配目录 | 基础 | z my project | |
zi交互式选择目录(基于 fzf) | 基础 | zi | |
z foo/bar使用子路径匹配 | 基础 | z work/project | |
zoxide add PATH手动添加目录到数据库 | 基础 | zoxide add /home/user/projects/myapp | |
zoxide remove PATH从数据库中移除目录 | 基础 | zoxide remove /tmp/old-project | |
zoxide add .把当前目录添加到数据库 | 基础 | zoxide add . |
查询选项(4)
| 命令 | 难度 | ||
|---|---|---|---|
zoxide query KEYWORD查询匹配的目录(不跳转) | 基础 | zoxide query docs | |
zoxide query -l KEYWORD列出所有匹配的目录(按分数排序) | 中级 | zoxide query -l project | |
zoxide query -exclude PATH查询时排除特定目录 | 高级 | zoxide query -exclude /tmp project | |
zoxide query -i KEYWORD交互式查询(使用 fzf 选择) | 中级 | zoxide query -i work |
安装配置(3)
| 命令 | 难度 | ||
|---|---|---|---|
zoxide init SHELL初始化指定 shell 的 zoxide 集成 | 基础 | zoxide init zsh | |
eval "$(zoxide init SHELL)"在 .bashrc/.zshrc 中启用 zoxide | 基础 | eval "$(zoxide init zsh)" | |
zoxide import PATH从 z(autojump、z.lua)导入历史数据 | 中级 | zoxide import /path/to/z/data |
配置管理(3)
| 命令 | 难度 | ||
|---|---|---|---|
zoxide init SHELL --cmd j使用自定义命令名(如 j 而非 z) | 中级 | zoxide init zsh --cmd j | |
zoxide init SHELL --no-cmd不注册默认的 z/zi 命令 | 高级 | zoxide init zsh --no-cmd | |
export _Z_DATA=PATH指定 z 兼容的数据库路径 | 中级 | export _Z_DATA=$HOME/.zoxide_db |