本文由 简悦 SimpRead 转码, 原文地址 zhuanlan.zhihu.com
概述
- Autojump 是一个命令行工具,用于快速跳转到您曾访问过的目录
- 它会记录您的访问历史,为常用目录分配权重,让您能使用简短的命令进行导航
- 极大提高终端目录导航效率,减少输入完整路径的需要
安装方法
macOS
brew install autojump
配置方法
Oh-My-Zsh 配置
在 ~/.zshrc 文件中的 plugins 列表中添加 autojump:
plugins=(git autojump)
或者使用以下命令自动添加:
if ! grep -q "plugins=.*autojump" ~/.zshrc; then
sed -i '' '/^plugins=/s/)/ autojump)/' ~/.zshrc
fi
手动配置(非 Oh-My-Zsh)
在 ~/.zshrc 文件中添加:
[ -f /usr/local/etc/profile.d/autojump.sh ] && . /usr/local/etc/profile.d/autojump.sh
使用指南
基本命令
跳转到目录
Autojump 会记录您 cd 进入过的目录,后续可通过 j 命令快速跳转:
j 目录名
例如:
# 从任何位置跳转到 ~/projects/website
j website
智能匹配
Autojump 会智能匹配目录名称的一部分,不需要完整名称:
# 匹配包含 doc 的常用目录
j doc
打开文件浏览器
在图形界面中打开目录:
jo 目录名
高级用法
查看目录历史和权重
查看 Autojump 记录的目录历史及其权重:
j -s
增加目录权重
手动增加当前目录的权重:
j -i [权重]
减少目录权重
手动减少当前目录的权重:
j -d [权重]
清理无效路径
删除不存在的目录历史记录:
j --purge
自动化配置脚本
以下是完整的自动安装和配置脚本:
#!/bin/bash
# 安装 autojump
if ! command -v autojump &> /dev/null; then
echo "正在安装 autojump..."
brew install autojump
else
echo "autojump 已安装"
fi
# 配置 Oh-My-Zsh 插件
if [ -f ~/.zshrc ]; then
if ! grep -q "plugins=.*autojump" ~/.zshrc; then
echo "正在配置 autojump 插件..."
sed -i '' '/^plugins=/s/)/ autojump)/' ~/.zshrc
echo "配置完成,请重新加载 zsh 配置: source ~/.zshrc"
else
echo "autojump 插件已配置"
fi
else
echo "未找到 .zshrc 文件,请手动配置"
fi
常见问题
-
为什么 autojump 不工作?
确保您已经重新加载了配置:source ~/.zshrc -
如何重置 autojump 数据库?
删除数据文件:rm ~/.local/share/autojump/autojump.txt -
为什么跳转到了错误的目录?
当多个目录包含相同的名称部分时,autojump 会跳转到权重最高的目录。使用j -s查看并使用更特定的名称。