veld

July 19, 2025 Β· View on GitHub

veld logo

veld

A modern, tileable, terminal-based file manager built with Python and Textual.

License: MIT Python Version Status

A screenshot of the veld file manager in action.


About

veld is a powerful, modern file manager that runs directly in your terminal. Inspired by classic TUIs like Ranger and Midnight Commander, veld offers a fresh take with an emphasis on simplicity, ease of use, and multi-panel navigation.

✨ Features

  • πŸ—‚οΈ Tileable Panels: Open multiple directory views side-by-side to streamline your workflow.
  • πŸ“‚ Toggle-able File Previews: Automatically see a preview of the highlighted fileβ€”text, code, and even images. Press a key to hide it when you need more space.
  • πŸ” Recursive File Search: Instantly find files and directories within the current panel.
  • ⌨️ Intuitive Navigation: Navigate your filesystem and switch between panels with familiar, ergonomic keybindings.
  • βš™οΈ Powerful File Operations: Perform common operations like copy, move, delete, and rename in the active panel.
  • α‹š Archive Management: Create and extract zip/tar archives directly within the file manager.
  • 🎨 Customizable Keybindings: Don't like the defaults? Change every keybinding by editing a simple configuration file.
  • 🐧 Cross-Platform: Built with Python and Textual, veld runs on Linux, macOS, and Windows.
  • Vim Mode: Queue up file operations and execute them in a batch, Vim-style.

πŸš€ Installation

You need Python 3.9+ and pip installed.

Install the latest development version directly from GitHub:

pip install git+https://github.com/BranBushes/veld-fm.git

Or using uv:

uv pip install git+https://github.com/BranBushes/veld-fm.git

This will install veld and make the veld command available in your terminal.

πŸ’» Usage

Once installed, you can run veld from anywhere in your terminal. You can also provide an optional starting directory for the first panel.

# Start in the default home directory
veld

# Start in the ~/Documents directory
veld ~/Documents

Use Tab and Shift+Tab to cycle focus between open panels. The active panel is highlighted with a colored border.

Vim Mode

Veld includes an optional Vim-style command mode for batching file operations.

  • Enter Command Mode: Press : to open the command input.
  • :vim - Toggles Vim Mode on or off.
  • :w - Executes (writes) all queued actions.
  • :c - Clears all queued actions.

When Vim Mode is active, a list of queued actions will appear in the bottom-right corner.

⌨️ Keybindings

Keybindings are organized by function and can be fully customized (see Configuration section).

Application & Panel Management

KeyAction
qQuit the application
oOpen a new panel (prompts for path)
O (Shift+o)Open panel at selected directory
wClose the active panel
pToggle the preview panel
backspaceClose the search panel
:Enter Command Mode

File & Directory Operations

KeyAction
enterOpen file or directory (default app)
eOpen file with... (prompts for command)
spaceToggle file selection
fFind files/directories
nRename a file
dCreate a directory
rDelete selected files (queues in Vim Mode)
mMove selected files
cCopy selected files (queues in Vim Mode)
aArchive selected items
xExtract highlighted archive

πŸ”§ Configuration

On the first run, a config file is created at ~/.config/veld-fm/config.toml. You can edit this file to change keybindings.

πŸ§‘β€πŸ’» For Developers

To set up a development environment:

git clone https://github.com/BranBushes/veld-fm.git
cd veld-fm
./setup.sh # This creates a venv and installs in editable mode
source .venv/bin/activate

Made with ❀️ from Bangladesh!