A terminal weather app written in Rust that shows real-time conditions as ASCII animations like rain, snow and thunderstorms.
SecretDeveloper/lsv
A keyboard-driven, three-pane terminal file browser written in Rust, configurable with Lua and rich external previews.
- Stars
- 130
- Forks
- 4
- Open issues
- 1
- Last commit
- 7 months ago
What is it?
lsv is a curses-based file viewer for the terminal. It shows the parent directory, the current directory, and a preview of the selected file or folder side by side, so you can move through a directory tree without leaving the keyboard.
Previews are produced by user-defined external commands such as bat for syntax-highlighted source, glow for Markdown, viu for images, or hexyl for binary files. The output is captured and rendered with ANSI colors. Behavior, themes, icons and keybindings are configured in an init.lua file, which exposes helpers for custom actions that can run shell commands or open interactive tools.
Beyond browsing, lsv supports file operations such as add, rename and delete, multi-select with copy, move and paste, single-key marks for jumping to directories, and a command palette. It runs on macOS, Linux and Windows and can be installed with cargo install lsv.
Key features
- 01Three-pane navigation showing parent, current and preview panes
- 02Lua configuration for themes, keymaps, actions and previewers
- 03External preview commands with ANSI-colored output
- 04Multi-key sequences with a which-key overlay
- 05File add, rename, delete and multi-select copy/move/paste
- 06Single-key marks for jumping to directories
Use cases
- Browsing project directories while previewing source code with syntax highlighting
- Previewing Markdown, images or binary files without opening a separate app
- Scripting custom shell workflows such as git status bound to a key
- Managing files over SSH on a remote terminal
Quick start
- 1
Install from crates.io
cargo install lsv - 2
Create a ready-to-edit config
lsv --init-config - 3
Run the viewer
lsv
Things to know
- Building from source requires the Rust nightly toolchain pinned in rust-toolchain.toml.
- Several preview features depend on external tools such as bat, glow, viu, or hexyl that must be installed separately.
- Custom configuration is written in Lua, so advanced customization requires learning the lsv Lua API.
Topics
FAQ
- What is lsv?
- A keyboard-driven, three-pane terminal file browser written in Rust, configurable with Lua and rich external previews. lsv is a curses-based file viewer for the terminal. It shows the parent directory, the current directory, and a preview of the selected file or folder side by side, so you can move through a directory tree without leaving the keyboard.
- Is lsv free to use? What license does it have?
- lsv is open source under the MIT license. Check the license terms before using it in commercial products.
- Is lsv still maintained?
- No commits for 6+ months. The last commit to lsv was on Mar 19, 2026.
- What can I use lsv for?
- Browsing project directories while previewing source code with syntax highlighting Previewing Markdown, images or binary files without opening a separate app Scripting custom shell workflows such as git status bound to a key Managing files over SSH on a remote terminal
- How do I install lsv?
- Install from crates.io: cargo install lsv Create a ready-to-edit config: lsv --init-config Run the viewer: lsv
- Where can I get lsv?
- The source code and installation instructions are on GitHub: https://github.com/SecretDeveloper/lsv
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A shell-like, text-based terminal file manager where you manage files by typing commands instead of using a TUI or GUI.
A terminal file manager in Rust and ratatui, styled after the classic DOS Dos Navigator with two panels and F-key shortcuts.
A terminal stock dashboard in Rust that pairs live quotes and charts with AI-scored news, SEC Form 4 insider filings and earnings reads.
A terminal tool that replays Git commits as animated typing sessions with syntax highlighting and file tree transitions.
A terminal user interface for Git, inspired by Magit, for staging, committing, branching, rebasing and more from the keyboard.