3.3 KiB
3.3 KiB
vcom
vcom is a terminal file manager inspired by Midnight Commander and built with Charm's TUI stack.
Why vcom
- Two-pane workflow focused on keyboard speed
- Built-in preview/info pane for the active selection
- Asynchronous copy/move with progress and background mode
- Theme support and configurable layout/columns
Interface
vcom has two browser panes:
- active pane: navigation and file operations
- passive pane: target pane for copy/move operations
The preview/info mode (F9 / i) temporarily replaces the inactive pane and shows:
- directory listing preview
- text file preview with syntax highlighting
- image metadata (format + dimensions)
- safe fallback for binary files
Features
- Two-pane file browser
- Preview/info pane with metadata block
- Read-only view mode (
F3/v) - External editor support (
F4/e) - Rename (
F2/r) - Copy (
F5/c), move (F6/m), mkdir (F7/n), delete (F8/x) - Multi-selection and batch operations
- Copy/move progress modal with background mode
- Directory size calculation (
Space) - Sorting cycle (
s) and hidden files toggle (.) - Runtime theme cycle (
t)
Default keys
Tab/h/l: switch active panej/Down: move downk/Up: move upShift+Down/J: extend selection downShift+Up/K: extend selection upEnter/Right: open selected entryBackspace/Left: go to parent directoryEsc: clear marked entries / close current modalCtrl+r: refresh both panesF1/?: helpF2/r: rename selected entryF3/v: view selected file (read-only mode)F4/e: edit selected fileF5/c: copyF6/m: moveF7/n: create directoryF8/x: deleteF9/i: toggle info/preview paneF10/q: quit
Build and run
Run directly:
go run ./cmd/vcom
Build local binary:
go build -o vcom ./cmd/vcom
Installation
NixOS / Nix
Run directly from the flake:
nix run github:vrubelroman/vcom?ref=v0.1.2
Install into user profile:
nix profile add github:vrubelroman/vcom?ref=v0.1.2
Debian / Ubuntu
Download the release .deb for v0.1.2, then install:
sudo apt install ./vcom_0.1.2_amd64.deb
Arch Linux
A PKGBUILD is included in the repository:
makepkg -si
Configuration
Optional config lookup order:
-config /path/to/vcom.toml./vcom.toml./config/vcom.toml$XDG_CONFIG_HOME/vcom/vcom.toml~/.config/vcom/vcom.toml
Reference config: vcom.toml
Themes
Built-in themes:
catppuccin-mocha(default)tokyo-nightgruvbox-darknord-frost
Releases
Pushing a tag like v0.1.2 triggers GitHub Actions release workflow (.github/workflows/release.yml) which:
- runs tests
- vendors Go modules
- builds release binary
- builds Debian package
- publishes release assets
Release artifacts:
vcom-v0.1.2-x86_64-unknown-linux-gnu.tar.gzvcom_0.1.2_amd64.debvcom-v0.1.2-checksums.txt
Notes
- File creation time depends on filesystem/OS support; unavailable values are shown as
n/a. - Inline image rendering is intentionally disabled for now due to terminal compatibility differences.
Architecture notes: docs/architecture.md