Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 42 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,32 +19,59 @@ JUMPING 是一个基于 Rust 开发的极轻量级 TUI 目录导航工具。它

## 🚀 安装与配置

### 下载预编译二进制文件
### 使用脚本一键安装(推荐)

从 [GitHub Releases](https://github.com/harkerhand/jumping/releases) 下载对应平台的二进制文件:
我们提供了自动安装脚本,可以自动检测系统类型、下载对应二进制文件、安装到合适位置,并配置 Shell 环境:

**方式一:下载脚本后运行**

```bash
# 下载安装脚本
wget https://raw.githubusercontent.com/harkerhand/jumping/main/install.sh
chmod +x install.sh
./install.sh
```

**方式二:直接运行(如果系统支持)**

```bash
# Linux
wget https://github.com/harkerhand/jumping/releases/latest/download/jumping-linux
chmod +x jumping-linux
sudo mv jumping-linux /usr/local/bin/jumping

# macOS
wget https://github.com/harkerhand/jumping/releases/latest/download/jumping-macos
chmod +x jumping-macos
sudo mv jumping-macos /usr/local/bin/jumping
# 通过 curl 直接运行
curl -sSL https://raw.githubusercontent.com/harkerhand/jumping/main/install.sh | bash
```
Comment on lines +35 to 40

### 从源码编译
脚本功能:

- ✅ 自动检测操作系统(Linux/macOS)
- ✅ 自动检测 Shell 类型(Bash/Zsh/Fish)
- ✅ 智能选择安装路径(系统目录或用户目录)
- ✅ 自动配置 Shell 环境
- ✅ 交互式安装,可选择自动添加配置

### 手动安装

1. **下载二进制文件:**
从 [GitHub Releases](https://github.com/harkerhand/jumping/releases) 下载对应平台的二进制文件:

```bash
# Linux
wget https://github.com/harkerhand/jumping/releases/latest/download/jumping-linux
chmod +x jumping-linux
sudo mv jumping-linux /usr/local/bin/jumping

# macOS
wget https://github.com/harkerhand/jumping/releases/latest/download/jumping-macos
chmod +x jumping-macos
sudo mv jumping-macos /usr/local/bin/jumping
```

1. **编译源码:**
2. 如果你想从源代码编译安装,可以使用以下命令:

```bash
cargo build --release
cp target/release/jumping /usr/local/bin/
```

2. **配置 Shell:**
3. **配置 Shell:**

将以下内容添加到你的 Shell 配置文件中,以启用跳转功能(这会创建一个`jp`函数):
对于 Bash 或 Zsh 用户,请添加:
Expand Down Expand Up @@ -81,4 +108,5 @@ sudo mv jumping-macos /usr/local/bin/jumping
* `j` / `k` 或 `↑` / `↓`: 在同级目录间上下切换。
* `h` / `l` 或 `←` / `→`: 在父目录与子目录间层级穿梭。
* `Enter`: 确认选择并直接跳转。
* `i`: 切换是否显示隐藏文件夹。
* `q` / `Esc`: 退出工具并保持原位。
142 changes: 85 additions & 57 deletions README_EN.md
Original file line number Diff line number Diff line change
@@ -1,85 +1,113 @@
## [English](README_EN.md) | [中文](README.md)
## [English](https://www.google.com/search?q=README_EN.md) | [中文](README.md)

<div align="center">
<img src="assets/logo.jpg" width="30%" alt="JUMPING Logo">
<img src="assets/logo.jpg" width="30%" alt="JUMPING Logo">
</div>

# 🛰️ JUMPING

> **J**umping **U**nlocks **M**ulti-path **P**recise **I**nstant **N**avigating **G**ear.

JUMPING is a blazingly fast, lightweight TUI directory navigator built in Rust. It solves
the "deep path fatigue" by providing a 3-column Miller column view to preview and teleport between directories
instantly.
JUMPING is an ultra-lightweight TUI directory navigation tool built with Rust. It eliminates the friction of navigating
deep terminal paths via a three-column layout, allowing you to "teleport" between folders instantly.

## ✨ Key Features
---

* **💨 Lightning Fast**: Zero-dependency runtime, minimal resource footprint.
* **📂 Miller Columns**: 3-pane layout (Parent, Current, Preview) inspired by macOS Finder/Ranger.
* **⌨️ Vim-like Motion**: Navigate with `h/j/k/l` or arrow keys.
* **🎯 Instant Teleport**: Exit and `cd` to the selected directory automatically via shell wrapper.
## ✨ Features

## 🚀 Installation & Setup
* **💨 Blazing Fast**: Written in Rust with zero runtime dependencies—pure performance.
* **📂 Three-Column View**: A macOS Finder-style layout (Parent-Current-Preview) for clear structural context.
* **⌨️ Vim-like Motion**: Supports `h/j/k/l` and arrow keys for intuitive navigation.
* **🎯 Seamless Jump**: Integrated Shell wrapper enables automatic `cd` to the target location upon exit.

### Download Pre-built Binaries
---

Download the pre-built binaries from [GitHub Releases](https://github.com/harkerhand/jumping/releases):
## 🚀 Installation & Configuration

### One-Click Installation (Recommended)

We provide an automated script that detects your system, downloads the correct binary, installs it, and configures your
Shell environment:

**Option 1: Download and Run**

```bash
# Linux
wget https://github.com/harkerhand/jumping/releases/latest/download/jumping-linux
chmod +x jumping-linux
sudo mv jumping-linux /usr/local/bin/jumping

# macOS
wget https://github.com/harkerhand/jumping/releases/latest/download/jumping-macos
chmod +x jumping-macos
sudo mv jumping-macos /usr/local/bin/jumping
# Download the installer
wget https://raw.githubusercontent.com/harkerhand/jumping/main/install.sh
chmod +x install.sh
./install.sh

```

### Build from Source
**Option 2: Direct Pipe (if supported)**

```bash
# Run via curl
Comment on lines +42 to +45
curl -sSL https://raw.githubusercontent.com/harkerhand/jumping/main/install.sh | bash

```

1. **Build from source:**
**Script Capabilities:**

```bash
cargo build --release
cp target/release/jumping /usr/local/bin/
```
* ✅ Auto-detects OS (Linux/macOS)
* ✅ Auto-detects Shell type (Bash/Zsh/Fish)
* ✅ Intelligent path selection (System or User bin)
* ✅ Automatic Shell environment configuration
* ✅ Interactive setup for profile updates

---

### Manual Installation

1. **Download Binary:**
Download the specific version for your platform
from [GitHub Releases](https://github.com/harkerhand/jumping/releases):

```bash
# Linux
wget https://github.com/harkerhand/jumping/releases/latest/download/jumping-linux
chmod +x jumping-linux
sudo mv jumping-linux /usr/local/bin/jumping

# macOS
wget https://github.com/harkerhand/jumping/releases/latest/download/jumping-macos
chmod +x jumping-macos
sudo mv jumping-macos /usr/local/bin/jumping

```

2. **Build from Source (Optional):**

```bash
cargo build --release
cp target/release/jumping /usr/local/bin/

```

3. **Configure Shell:**
Add the following to your Shell profile to enable the `jp` jump function:
**For Bash or Zsh:**

2. **Configure the shell:**
将以下内容添加到你的 Shell 配置文件中,以启用跳转功能(这会创建一个`jp`函数):
For Bash or Zsh users, add:
```bash
eval "$(jumping --init)"
```
For Fish users, add:

**For Fish:**

```fish
jumping --init fish | source
```

You can also run `jumping --init` directly to see the corresponding shell configuration command.
For example, running in zsh will give you:
```bash
jp() {
local TMP_FILE="/tmp/jumping-1000"
[ -f "$TMP_FILE" ] && rm "$TMP_FILE"

jumping

if [ -f "$TMP_FILE" ]; then
local DEST=$(cat "$TMP_FILE")
if [ -d "$DEST" ]; then
cd "$DEST"
pwd
fi
rm "$TMP_FILE"
fi
}
```

## 🎮 Usage
> [!TIP]
> Run `jumping --init` manually to see the underlying script. For example, in Zsh, it creates a `jp()` function that
> handles the temporary file hand-off for the `cd` command.

---

## 🎮 Controls

* `j` / `k` or `↑` / `↓`: Move up and down within the current directory.
* `h` / `l` or `←` / `→`: Traverse through directory hierarchy.
* `Enter`: Confirm selection and teleport.
* `q` / `Esc`: Quit without changing directory.
* **`j` / `k**` or **`↑` / `↓**`: Move up and down within the current directory.
* **`h` / `l**` or **`←` / `→**`: Traverse between parent and child directories.
* **`Enter`**: Confirm selection and jump to the directory.
* **`i`**: Toggle visibility of hidden files/folders.
* **`q` / `Esc**`: Quit the tool and stay in the current directory.
Comment on lines +109 to +113
Loading
Loading