Skip to content

radeqq007/duvet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

168 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
. Toggle dotfiles visibility

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

About

a TUI file manager with vim-like motions

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages