Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dmcg310/Rust-Traverse
Terminal based file explorer.
https://github.com/dmcg310/Rust-Traverse
Last synced: 11 days ago
JSON representation
Terminal based file explorer.
- Host: GitHub
- URL: https://github.com/dmcg310/Rust-Traverse
- Owner: dmcg310
- License: mit
- Created: 2023-05-31T17:22:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-21T07:04:23.000Z (22 days ago)
- Last Synced: 2024-10-21T10:02:33.642Z (22 days ago)
- Language: Rust
- Homepage: https://crates.io/crates/rst-traverse
- Size: 1.59 MB
- Stars: 75
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Rust-Traverse
Rust traverse is a terminal based file explorer. It is inspired by the [NNN](https://github.com/jarun/nnn) file manager. It uses [Ratatui](https://github.com/tui-rs-revival/ratatui) for the terminal UI, with Crossterm for the terminal backend.
> To traverse or not to traverse?
![Rust-Traverse](traverse.gif)
## Features
- [x] Full CRUD operations on files and directories.
- [x] Move and copy files and directories.
- [x] Keyboard shortcuts for navigation and operations, to make sure you don't have to leave the keyboard.
- [x] Traverse directly to a directory by typing its path.
- [x] Configurable.
- [x] Extract tar.gz, or zip archives.
- [x] Bookmarks for your favourite directories.
- [x] Fuzzy finder for files in your current directory.
- [x] Preview files in the terminal.
- [x] Blazingly fast.## Installation
### From source
1. Install [Rust](https://www.rust-lang.org/tools/install).
2. Clone the repository.
3. Run `cargo build --release`.
4. The binary will be in `target/release/rst-traverse`.
5. Add the binary to your path.### From Cargo
1. Install [Rust](https://www.rust-lang.org/tools/install).
2. Run `cargo install rst-traverse`.
3. Make sure cargo's bin directory is in your path.
4. (Optional) Rename the binary to whatever suits you.### From Binary
1. Download the binary from the releases page.
2. `chmod +x rst-traverse` (linux only) within the same directory as it, to make it executable.
3. Move the resulting binary to your path.## Usage
Run `rst-traverse` in your terminal.
### Keyboard Shortcuts
#### Navigation
- `ESC` or `q`: Quit the application.
- `1`: Select the Files pane.
- `2`: Select the Directories pane.
- `j`: Select the next item in the current pane.
- `k`: Select the previous item in the current pane.#### File and Directory Operations
- `n`: Create a new file or directory, depending on the current pane.
- `CTRL + d`: Delete the selected file or directory, (to bin).
- `r`: Rename the selected file or directory.
- `f`: Navigate to a directory using a relative or absolute path.
- `x`: Extract the selected archive, to the current directory.#### Move/Copy Operations
- `c`: Append the selected file or directory to the move/copy buffer.
- `p`: Opens the move/copy buffer menu, (enter on any option is in relation to your current directory).#### Fuzzy Finder Operations
- `w`: Toggle fzf.
- `CTRL + n`: 'Next' item in results.
- `CTRL + p`: 'Previous' item in results.#### Bookmark Operations
- `b`: Shows bookmarks menu.
- `z`: Add current directory to bookmarks.
- `CTRL + n`: 'Next' bookmark in menu.
- `CTRL + p`: 'Previous' bookmark in menu.#### Help
- `?`: Shows help menu.
## Configuration
The configuration file is located at `/traverse/config.txt`. The default configuration is as follows:
```
show_hidden=false
excluded_directories=.git,.idea,.vscode,target
```The excluded directories are directories that will not be searched when using the FZF.
The bookmarks file is located at `/traverse/bookmarks.txt`.