A modern, full-featured terminal file viewer for Linux, built in Rust.

- File Tree with Unicode icons, 3D depth effects, and rounded tree connectors
- Syntax Highlighting for 200+ languages (Rust, Python, JS, Go, etc.)
- Hex Viewer for binary file inspection
- Image Preview with ASCII art and truecolor rendering
- Markdown Viewer with styled headers, code blocks, and links
- PDF Text Extraction for reading PDF content
- Archive Viewer for ZIP, TAR, GZ, 7Z contents
- Split Pane Viewing with adjustable ratios
- Search with regex support and match highlighting
- Fuzzy Find (Ctrl+p) to quickly locate files
- File Operations: create, rename, delete (trash), copy/cut/paste, duplicate
- Editor/Shell Integration: open files in
$EDITOR, launch shell in current dir
- Command Palette with
: prefix
- Plasma Title Bar with animated gradient waves
- Scanline Effect with configurable opacity
- Particle System and Bloom visual effects
- TOML Theme System with Catppuccin Mocha (default), Dracula, and Nord
- Breadcrumb Path Bar for quick navigation
- Terminal Capability Detection (truecolor, unicode, sixel, kitty graphics)
- 60fps rendering with fixed timestep
git clone https://github.com/HadesMind001/Fview.git
cd Fview
cargo build --release
cp target/release/fview ~/.local/bin/
git clone https://github.com/HadesMind001/Fview.git
cd Fview
cargo install --path .
# Open current directory
fview
# Open a specific file
fview myfile.rs
# Open with hidden files shown
fview -H
# Open in hex view mode
fview -x binary.bin
# Disable animations
fview --no-animations
# Disable all visual effects
fview --no-effects
| Key |
Action |
j/k or ↑/↓ |
Navigate tree up/down |
h or ← |
Collapse dir or go up |
l or → |
Expand dir |
Enter |
Open file / expand dir |
g / G |
Go to top / bottom |
d / u |
Scroll half page down/up |
Ctrl+↑/↓ |
Scroll one line |
| Mouse wheel |
Scroll viewer |
| Key |
Action |
m |
Cycle viewer mode (Text/Syntax/Hex/Markdown) |
s |
Toggle split pane |
Tab |
Switch active pane |
| Key |
Action |
/ |
Search in file |
n / N |
Next / Previous match |
: |
Command palette |
Ctrl+p |
Fuzzy find |
| Key |
Action |
a |
Create new file |
A |
Create new directory |
r |
Rename selected |
Ctrl+d / Delete |
Delete (trash) |
y |
Copy |
x |
Cut |
p |
Paste |
Y |
Duplicate |
| Key |
Action |
e |
Open in editor ($EDITOR) |
S |
Open shell in current dir |
R |
Refresh |
. |
Toggle hidden files |
H |
Go to home directory |
? |
Help |
q / Ctrl+c |
Quit |
| Command |
Action |
:q / :quit |
Quit |
:h / :hidden |
Toggle hidden files |
:home |
Go to home directory |
:split |
Toggle split view |
:goto N |
Jump to line N |
:theme NAME |
Switch theme |
Themes are stored as TOML files in themes/. To use a custom theme, place a .toml file in ~/.config/fview/themes/.
Built-in themes:
- Catppuccin Mocha (default) - Dark purple/pink theme
- Dracula - Dark purple/cyan theme
- Nord - Arctic blue theme
src/
├── main.rs # Entry point, CLI args, main loop
├── app.rs # Application state and logic
├── input/
│ └── mod.rs # Keyboard and mouse input handling
├── ui/
│ ├── mod.rs # Main rendering
│ ├── themes.rs # Theme structs and presets
│ ├── theme_toml.rs # TOML theme loading
│ ├── effects.rs # Gradient border widget
│ ├── animations.rs # Animation system
│ ├── capabilities.rs # Terminal capability detection
│ ├── signature_effects.rs # Plasma, scanlines, particles, bloom
│ ├── tree_renderer.rs # File tree with depth-based coloring
│ └── breadcrumb.rs # Path breadcrumb bar
├── viewers/
│ ├── mod.rs # Viewer mode enum
│ ├── syntax.rs # Syntax highlighting
│ ├── hex.rs # Hex dump viewer
│ ├── image.rs # Image to ASCII/truecolor
│ ├── markdown.rs # Markdown rendering
│ ├── pdf.rs # PDF text extraction
│ └── archive.rs # Archive listing
└── fs/
├── mod.rs # Filesystem utilities
├── tree.rs # Directory tree builder
├── icons.rs # File type icons
└── metadata.rs # File metadata helpers
MIT
0 comments
log in to comment.