https://github.com/nullmedium/fzap
A fast terminal file manager written in Rust
https://github.com/nullmedium/fzap
file-manager git-integration rust-lang terminal-based version-control
Last synced: 8 months ago
JSON representation
A fast terminal file manager written in Rust
- Host: GitHub
- URL: https://github.com/nullmedium/fzap
- Owner: nullmedium
- License: bsd-3-clause
- Created: 2025-09-22T05:50:13.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2025-09-25T06:57:22.000Z (8 months ago)
- Last Synced: 2025-09-25T08:28:43.475Z (8 months ago)
- Topics: file-manager, git-integration, rust-lang, terminal-based, version-control
- Language: Rust
- Homepage:
- Size: 262 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fzap
A fast terminal file manager written in Rust with fuzzy search capabilities.
## Features
- Fast file navigation with keyboard shortcuts
- Recursive fuzzy file search (fzf-style filtering)
- Single or two-column mode (like Midnight Commander)
- File operations: View, Edit, Move/Rename, Delete
- Multi-file selection support
- Git integration showing file status and branch
- Git log viewer
- Color themes via TOML configuration
- Recursive directory deletion
- Session management - remembers last visited directories
## Installation
```bash
cargo build --release
./target/release/fzap [directory]
```
## Usage
### Navigation
- `↑/k` - Move up
- `↓/j` - Move down
- `←/h` - Go to parent directory
- `→/l/Enter` - Enter directory
- `Tab` - Switch between panels (in two-column mode)
### File Operations
- `Space` - Toggle file selection
- `Ctrl+A` - Select all
- `Ctrl+D` - Deselect all
- `v` - View file
- `e` - Edit file (uses $EDITOR or vi)
- `r` - Rename file/directory
- `d` - Delete file/directory
- `F5` - Copy
- `F6` - Move
- `F7` - Create directory
- `F8` - Paste
### Other
- `/` - Search files
- `g` - Toggle git status display
- `G` - Show git log
- `F1` - Help
- `Ctrl+Q` - Quit
## Configuration
Configuration file is stored at `~/.config/fzap/config.toml`:
```toml
theme_file = "default"
show_hidden_files = false
git_integration = true
default_view_mode = "single"
editor = "vi"
save_session = true # Save current directories on exit
restore_session = true # Restore last directories on startup
```
## Session Management
When enabled, fzap automatically:
- Saves your current directory for each panel
- Remembers whether you were in single or two-column mode
- Restores your last active panel
- Preserves git status view and search settings
Session data is stored in `~/.config/fzap/session.toml` and is updated:
- When you change directories
- When you switch panels or view modes
- Every 5 seconds automatically
- When you exit the application
To disable session management, set `save_session` or `restore_session` to `false` in your config.
## Themes
Themes are stored at `~/.config/fzap/themes/[name].toml`. The default theme is created automatically on first run.