Skip to content

Repository files navigation

FileView (fv)

Crates.io Downloads CI License: MIT MSRV

Terminal file browser with image preview, written in Rust.

Demo

FileView Demo

Why FileView?

FileView was built for people who want more built-in functionality than a deliberately minimal file manager such as nnn offers, while keeping the same spirit of simplicity and speed. Install it, run fv, and start browsing without writing a configuration first.

The goal is not to be the smallest file manager at any cost. It is to make previews, Git status, search, and image support immediately useful without making the basic workflow feel heavy. See the performance comparison for measurements against other terminal file managers and the test limitations.

Features

  • Auto image preview (Kitty, iTerm2, Sixel, Halfblocks)
  • 2.2ms startup, ~8MB memory
  • Git status, syntax highlighting, PDF preview, fuzzy finder
  • Vim keybindings, mouse support, Lua plugins
  • Live reflection of fv --mcp-server activity in the TUI (details)

Quick Start

cargo install fileview
fv

Install Options

Chafa image support: cargo install fileview --features chafa
Speed-optimized build: cargo install fileview --profile release-fast
Slim build (drops arboard clipboard, mlua Lua plugin, zip / tar / flate2 archive, and tiktoken-rs / petgraph AI helper dependencies): cargo install fileview --no-default-features
Pick individual features: cargo install fileview --no-default-features --features ai,clipboard,lua,archive

Image Preview

Your terminal is auto-detected:

Terminal Protocol
Kitty / Ghostty / Konsole Kitty Graphics
iTerm2 / WezTerm / Warp iTerm2 Inline
Foot / Windows Terminal Sixel
VS Code / Alacritty Halfblocks

Keybindings

Key Action
j/k Navigate up/down
h/l Collapse/expand
g/G Top/bottom
Space Toggle mark
/ Search
Ctrl+P Fuzzy finder
P Preview panel
q Quit

See docs/KEYBINDINGS.md for the full list.

One-shot helpers for AI workflows

A few non-interactive flags for use from scripts and AI agents:

fv --tokens README.md            # cl100k_base token estimate (one integer to stdout)
fv --snapshot-create base        # capture working tree manifest to .fileview/snapshots/
fv --snapshot-diff base          # + added / - removed / M modified since snapshot
fv --watch path/to/file          # block until the file changes, print path, exit
fv --watch path/to/file --watch-timeout-secs 5

See docs/CLAUDE_CODE.md for the full list.

Claude Code Integration

FileView includes an MCP server for Claude Code (fv --mcp-server).

{
  "mcpServers": {
    "fileview": {
      "command": "fv",
      "args": ["--mcp-server"]
    }
  }
}

Details: docs/CLAUDE_CODE.md

Docs

License

MIT

About

A fast and lightweight terminal file browser built with Rust

Topics

Resources

Contributing

Security policy

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages