Zoxide 使用备忘
Zoxide 是一个更智能的 cd 命令,它会记住你经常访问的目录,让你可以用简短的别名快速跳转。用 Rust 编写,速度快于zsh z插件。
1. 安装
1
2
|
# Ubuntu/Debian
sudo apt install zoxide -y
|
2. 配置
在 shell 配置文件中添加初始化命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# 添加 zoxide 初始化命令到 ~/.zshrc
echo 'eval "$(zoxide init zsh)"' >> ~/.zshrc
# 从zshrc 配置文件中移除z插件
# 移除前
plugins=(git sudo z zsh-syntax-highlighting zsh-autosuggestions fzf)
# 移除后
plugins=(git sudo zsh-syntax-highlighting zsh-autosuggestions fzf)
# 具体操作
vim ~/.zshrc
/plugins= # 命令模式直接输入前面字符串 然后回车 表示搜索这个命令
# 进入编辑模式删除z插件
# 保存退出 (:wq)
source ~/.zshrc # 使配置生效
|
2.1 Windows Pwsh 配置
使用 scoop 安装:
1
2
|
scoop install zoxide
Get-Command zoxide
|
PowerShell 中需要执行初始化脚本,最常见的写法是:
1
|
Invoke-Expression (& { (zoxide init powershell | Out-String) })
|
如果只想当前会话临时生效,直接在当前 pwsh 执行上面这一行即可。
如果想每次启动 pwsh 自动生效,把它写进 $PROFILE:
1
2
3
|
if (Get-Command zoxide.exe -ErrorAction SilentlyContinue) {
Invoke-Expression (& { (zoxide init powershell | Out-String) })
}
|
例如本机的 PowerShell 7 profile 路径:
1
2
|
$PROFILE
# C:\Users\xxx\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
|
写完后重新加载:
3. 基本使用
3.1 项目快速跳转
1
2
3
4
5
6
7
|
# 第一次访问
cd ~/work/blog/HugoBlog
# 之后只需
z hugo # 跳转到 HugoBlog
z blog # 跳转到 blog 相关目录
z hu blog # 多关键字精确匹配
|
3.2 可视化
通过zi命令可以列出匹配的目录,上下选择进行跳转:
在 pwsh 中常见用法:
1
2
3
|
z blog # 跳到最匹配的目录
z hugo blog # 多关键字匹配
zi blog # 交互式选择目录
|
如果已经配置了 fzf,zi 的交互体验会更好,适合在大量项目目录之间快速切换。
3.3 管理数据库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# 添加目录到数据库
zoxide add /path/to/dir
# 从数据库移除目录
zoxide remove /path/to/dir
# 查看数据库中的目录
zoxide query -l
# 查看数据库路径
zoxide query -l --exclude .
# 清空数据库
zoxide query --purge
|
在 Windows 下,数据库默认一般位于:
1
|
$env:LOCALAPPDATA\zoxide
|
3.4 工作原理
Zoxide 会记录每个目录的访问频率和最近访问时间,计算出一个"分数":
- 访问越频繁,分数越高
- 最近访问的目录分数更高
- 跳转时优先选择分数最高的匹配目录
数据库存储在 ~/.local/share/zoxide/db.zo(Linux)或 ~/.zoxide/db.zo(macOS)。
参考链接