#cd #filesystem #jump #file #coreutils #cli-tool

app jumb

一个用于目录导航的闪电般快速的 CLI 工具。创建自定义快捷方式以快速跳转到常用路径,无需执行冗长的 cd 命令。

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 次下载

MIT 许可协议

16KB
227

Jumb:简化目录导航

你一天要运行多少次 cd 命令?如果你像许多开发者一样,可能比你想象的要多。

Friendship ended with X, now Y is my best friend

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