duvet

module
v0.0.0-...-0b47678 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2026 License: MIT

README

Duvet logo

GitHub go.mod Go version GitHub License Last commit Build Lint GitHub stars

What is Duvet?

Duvet is a fast, keyboard-driven file explorer that lives entirely in your terminal. If you use Vim, you already know how to navigate it. Browse directories, preview files with syntax highlighting, manage bookmarks, run shell commands, and see git status — all without leaving the terminal.

Why duvet?

Duvet Ranger nnn
Vim Keys ✔️ ✔️
Bookmarks ✔️ ✔️
Git Integration ✔️
Fuzzy Find ✔️
Nerd Font Icons ✔️

Installation

Requires Go 1.25+ and a Nerd Font for icons.

go install github.com/radeqq007/duvet/cmd/duvet@latest

You run it with:

duvet

Navigation

Key Action
h / Go to parent directory
j / Move down
k / Move up
l / / Enter Enter directory or open file
<n><motion> Repeat motion n times (e.g. 5j, 3k)
gg Jump to first item
G Jump to last item
<n>G Jump to line n
Space Toggle selection on current file
Tab Switch pane focus
yy Yank selected / current file
p Paste yanked files
dd Delete selected / current file
Esc Clear pending input
: Open command prompt

Commands

Enter command mode with :. Shell commands use the ! prefix.

File Operations
Command Description
touch <name> Create a new file
mkdir <name> Create a new directory
rename <name> Rename the current file
delete Delete selected files
yank Yank selected files
paste Paste yanked files
cd [path] Change directory
Selection
Command Description
select <pattern> Select files matching a glob (e.g. select *.go)
deselect <pattern> Deselect files matching a glob
Search & Bookmarks
Command Description
find <text> Fuzzy-find a file in the current directory and jump to it
bm save <name> Save current path as a named bookmark
bm load <name> Jump to a saved bookmark
bm list List all bookmarks
bm delete <name> Remove a bookmark
Shell & Alerts
Command Description
!<cmd> [args] Run a shell command; output shown in an alert box
alert <text> Show a normal alert
alert <type> <text> Show a typed alert (normal, info, warning, error)
App
Command Description
q / quit Quit

Git integration

Duvet shows git status inline next to file names when you're inside a git repository. The status codes use the standard two-character format from git status --porcelain.

The current branch name is also shown in the status bar at the bottom.

File Preview

Selecting a file automatically loads a syntax-highlighted preview in the right pane.

The preview theme is configurable (default: dracula). Any Chroma theme works.

Config

The configuration file is located in the system's default config directory:

  • Linux: ~/.config/duvet/config.toml
  • macOS: ~/Library/Application Support/duvet/config.toml
  • Windows: %APPDATA%\duvet\config.toml

The default options are as follows:

default_editor = "vim"
preview_theme = "dracula"

[colors]
pane_border = "159"
focused_pane_border = "153"

selected_file_bg = "62"
selected_file_fg = "230"

dir_fg = "39"
file_fg = "252"

cmd_box_fg = "159"
cmd_box_border = "159"

alert_normal_fg = "123"
alert_normal_border = "123"

alert_info_fg = "33"
alert_info_border = "33"

alert_warning_fg = "220"
alert_warning_border = "220"

alert_error_fg = "9"
alert_error_border = "9"

Demo

Demo

Directories

Path Synopsis
cmd
duvet command
internal
git
ui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL