简介
autojump 是一个目录快速跳转工具,通过记录你 cd 访问过的目录来维护一个数据库,之后可以用 j 命令加部分目录名快速跳转,无需输入完整路径。
安装
# macOS
brew install autojump
# Ubuntu/Debian
sudo apt install autojump
# 手动安装
git clone https://github.com/wting/autojump.git
cd autojump && python install.py
安装后需要在 .bashrc 或 .zshrc 中添加:
# Bash
[[ -s /usr/share/autojump/autojump.sh ]] && source /usr/share/autojump/autojump.sh
# Zsh
[[ -s /usr/share/autojump/autojump.zsh ]] && source /usr/share/autojump/autojump.zsh
核心功能
- 模糊匹配: 只需输入目录名的部分字符即可跳转
- 权重优先: 根据访问频率排序,常用目录优先匹配
- 多结果选择: 匹配到多个目录时可交互选择
常用命令
# 跳转到包含 "pattern" 的目录
j pattern
# 跳转到子目录
jc pattern
# 打开目录(而非跳转)
jo pattern
# 列出数据库中的目录及权重
j -s
典型场景
场景一:免于输入深层路径
积累访问历史后,深层目录只需关键词跳转:
# 以前:
cd ~/Documents/work/projects/backend/src/controllers
# 用 autojump:
j controllers # 跳转到匹配的最高权重目录
j back cont # 多关键词更精确匹配
场景二:在相似名称的目录间切换
有多个叫 src 的目录,用权重机制选择最常用的:
# 查看所有匹配 "api" 的目录及其权重
j -s | grep api
# 如果跳错了,可以调整权重
j -i api # 增加当前目录的权重
j -d api # 减少当前目录的权重
# 使用多个关键词精确匹配
j company api # 跳转到含 "company" 路径下的 "api" 目录
场景三:在文件管理器中打开跳转目录
# macOS 用 Finder 打开目录
jo project # 用默认文件管理器打开匹配目录
# 与其他命令组合
ls $(j -e echo backend) # 列出跳转目标目录的内容(不实际跳转)
注意
- autojump 是经典工具,维护不太活跃
- 推荐尝试更现代的替代品 zoxide(Rust 实现,更快)