$ terminals _

autojump

通过记录访问历史实现目录快速跳转的命令行工具

🌐 官网 GitHub brew install autojump

简介

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 实现,更快)