4 个版本
0.1.3 | 2024年6月22日 |
---|---|
0.1.2 | 2024年6月22日 |
0.1.1 | 2024年6月22日 |
0.1.0 | 2024年6月22日 |
#284 在 命令行工具
每月 24 次下载
16KB
227 行
Jumb:简化目录导航
你一天要运行多少次 cd
命令?如果你像许多开发者一样,可能比你想象的要多。
Jumb 是一个命令行工具,通过允许用户为常用目录创建快捷方式来简化目录导航。这减少了冗长的 cd
命令的需求,节省了时间并简化了工作流程。
关键优势
- 减少
cd
使用:通过为最常用的目录设置快捷方式来最小化使用冗长的cd
命令的需求。 - 节省时间:显著减少在文件系统的不同部分之间导航所需的时间,提高生产力,特别是对于开发人员和系统管理员。
- 简化工作流程:通过快速在项目和目录之间切换上下文来提高工作流程效率。
先决条件
在安装 Jumb 之前,请确保您的系统上已安装以下内容
- Git:如果通过 Cargo 安装,则需要 Git 来克隆仓库。
- Rust 和 Cargo:Jumb 使用 Rust 构建,因此您需要安装 Rust 和 Cargo 以编译和安装它,无论是直接从源代码还是通过 Cargo。您可以从 官方 Rust 网站 安装它们。
安装
使用 Cargo
直接从 Cargo 安装 Jumb
cargo install jumb
注意:使用 Cargo 安装 Jumb 后,必须用外壳脚本包装它,以确保工具正常工作。
设置外壳包装器
通过向 .zshrc 或 .bashrc 文件添加外壳包装器将 Jumb 集成到您的外壳中。这个包装器确保使用 Jumb 感觉像是对外壳命令的自然扩展。
# Jumb tool wrapper
function jnav() {
unalias jumb 2>/dev/null
unset -f jumb 2>/dev/null
# Find the path to the 'jumb' executable dynamically
local jumb_path=$(which jumb)
if [[ -z "$jumb_path" ]]; then
echo "The 'jumb' command is not installed or not in PATH."
return 1 # Exit the function with an error status
fi
# Check if the command is 'view' without additional arguments
if [[ "$1" == "view" ]] && [[ $# -eq 1 ]]; then
# This should only list the directories, not change to any directory
$jumb_path view
elif [[ $# -eq 1 ]]; then
# Assuming any single argument not prefixed by 'view' is a path name
local dir=$($jumb_path "$1")
if [[ -d "$dir" ]]; then
cd "$dir"
else
echo "Directory not found: $dir"
fi
else
# Handle other commands or multiple arguments normally
$jumb_path "$@"
fi
}
为什么使用 jnav
而不是 jumb
?
使用 jnav
函数代替直接调用 jumb,以避免与二进制名称发生任何潜在冲突。此函数确保外壳正确处理 Jumb 提供的定制功能,例如管理并导航到目录快捷方式。
自定义函数名称
如果您更喜欢不同的函数名称,请将 jnav 替换为您选择的名称,以避免与 Jumb 二进制文件发生潜在冲突。
用法
轻松设置和管理目录快捷方式
- 添加快捷方式
jnav add shortcut_name absolute/path/to/directory
例如,如果您想添加当前目录路径,则可以通过运行带点的命令来添加当前目录。
jnav add project .
- 使用以下方式快速导航
jnav shortcut_name
- 删除快捷方式
jnav remove shortcut_name
- 查看所有快捷方式
jnav view
- 查看特定快捷方式的路径
jnav view <Shortcut_name>
贡献
鼓励贡献。请随意fork项目并提交pull请求。
依赖项
~2–12MB
~96K SLoC