Hey dev community! đź‘‹
Like a lot of you, I live in my terminal. It's fast, it's clean, and with the right tools, it’s the most productive environment on Earth. I'm a huge fan of keyboard-driven file managers like ranger
and nnn
—they feel like superpowers.
But I always had this one little itch I couldn't scratch: I wanted true, out-of-the-box tiling panels. I love my tiling window manager, and I wanted that same side-by-side workflow for my files without having to write a complex script.
So, I decided to build my own solution. I'm excited to introduce veld!
It’s a modern, terminal-based file manager built from the ground up with the incredible Textual framework for Python.
So, What's the Big Deal?
veld
is my take on what a simple but powerful TUI file manager should be. The goal was to create something that’s easy to use, easy to configure, and makes you feel like a keyboard wizard.
Here’s what you get:
🗂️ First-Class Tiling Panels: This is the core feature. Press o
to open a new panel, give it a path, and boom—you have a side-by-side view. Close the active panel with w
. Navigate between them with Tab
. It just works.
⌨️ A Keyboard-First Workflow: No mouse needed. All the essential file operations are at your fingertips:
- Copy (
c
), Move (m
), Rename (n
), Delete (r
) - Archive (
a
) and Extract (x
) zip/tar files directly. - Select files with
spacebar
.
🎨 Super Simple Configuration: I didn’t want to mess with complex scripting languages just to change a keybinding. veld
creates a simple config.toml
file for you on its first run. Want to change a key? Just edit a single line.
# Your config is at ~/.config/veld-fm/config.toml
[keybindings]
quit = "q"
add_panel = "o"
close_panel = "w"
# ...and so on
✨ Built with Modern Tech: Textual makes building TUIs in Python an absolute joy. It’s responsive, looks great, and makes features like path autocompletion easy to implement. Plus, since it’s all Python, it’s cross-platform and easy for anyone to hack on.
Target Audience
This project is for people who:
- Love tiling, but want it to work instantly without extra setup.
- Prefer a simple config file over writing shell scripts.
- Are curious about what’s possible with modern TUI libraries like Textual.
- Just want to try something new and fun!
Comparison
I want to be clear: similar tools like range those tools are incredible, and veld
stands on the shoulders of giants. This project isn’t trying to replace them, but to offer a different flavor for people who:
🚀 Give It a Spin!
veld
is open-source (MIT license), and I would be absolutely thrilled if you checked it out. The best projects are built with community feedback, so I'm hungry for your thoughts, feature ideas, and bug reports.
You can find the project on GitHub:
➡️ https://github.com/BranBushes/veld-fm
Installation
You'll need Python 3.9+ and pip
. You can install the latest version directly from GitHub:
pip install git+https://github.com/BranBushes/veld-fm.git
(You can also use uv pip install ...
if you're on the uv
train!)
This will install the veld
command on your system. Just run it from your terminal:
# Start in your home directory
veld
# Or start in a specific directory
veld ~/Projects
What's Next?
I have a few ideas, like adding file previews and improving performance, but I'm most excited to hear what the community wants. What's a must-have feature for you in a file manager? Have you found a bug I missed?
Let me know in the comments below or open an issue on GitHub. Thanks for reading, and happy hacking!
Top comments (0)