dirvish 
- Description
- A modern file manager based on dired mode
- Latest
- dirvish-2.2.7.tar (.sig), 2025-Mar-12, 440 KiB
- Maintainer
- Alex Lu <https://github.com/alexluigit>
- Website
- https://github.com/alexluigit/dirvish
- Browse ELPA's repository
- CGit or Gitweb
- Badge
To install this package from Emacs, use package-install
or list-packages
.
Full description
A polished Dired with batteries included
1. Introduction
Dirvish enhances Emacs' built-in Dired mode, providing a visually appealing and highly customizable interface. More than just a facelift, Dirvish delivers a comprehensive suite of features, transforming Dired into a modern and fully functional file manager.
The experience of dirvish is surreal and even bizarre after all these years of trying to use dired. Like how professionals make their craft look easy, dirvish does something similar with how it builds on dired. Dirvish is paradoxical in that it provides a completely different experience while still fundamentally being dired at its core.
– Special thanks to @noctuid for this summary of Dirvish
3. Installation
Dirvish is available from Nongnu-Elpa and Melpa. You can install it directly
via M-x package-install RET dirvish RET
on Emacs 28.1+. After installation,
activate Dirvish globally with M-x dirvish-override-dired-mode RET
.
4. Quickstart
M-x dirvish RET
Welcome to Dirvish! Use your favorite dired commands here, press
q
to quit.M-x dirvish-dwim RET
Works the same as
dirvish
when the selected window is the only window; otherwise, it avoids occupying the entire frame.M-x dirvish-dispatch RET
This is a help/cheatsheet menu powered by
transient.el
, the same library used to implement keyboard-driven menus in Magit and many Dirvish extensions. If you prefer this interaction style, consider binding these menus todirvish-mode-map
. See example config for details.
5. Documentation
For more dirvish customization options and features, see our documentation:
6. Resources
To delve deeper into Dirvish, explore these resources:
7. Acknowledgements
This package draws inspiration from the terminal file manager ranger. Some extensions began as rewrites of packages from dired-hacks, but have since been significantly enhanced.
Code contributions:
Useful advice and discussions:
The name dirvish is a tribute to vim-dirvish.
Old versions
dirvish-2.2.3.tar.lz | 2025-Mar-08 | 91.7 KiB |
dirvish-2.2.0.tar.lz | 2025-Mar-07 | 91.2 KiB |
dirvish-2.1.0.tar.lz | 2025-Feb-14 | 87.3 KiB |
dirvish-2.0.53.tar.lz | 2024-Nov-29 | 75.5 KiB |
News
1. 2.2.7
1.1. What's changed
- use different handlers for local / sudo / remote connections
- responsive & aligned
git-msg
attribute (github style) - support changing display order of some attributes
- bug fixes for
dirvish-subtree
2. 2.2.3
Emergency fixes for 2 bugs in 2.2.0:
- Error caused by mismatched vc-backend when expanding subtree
- Incorrect resetting after quitting `dirvish-side`
New feature:
- `dirvish-quit` now works in all dirvish windows (#309)
3. 2.2.0
3.1. BREAKING Changes
- preview text files using proxy buffer (#184 #195 #270 #295)
- replace magick with libvips for faster image preview (#218)
- use 7-zip for archive preview
- support font preview
3.2. Other changes
dirvish-reuse-session
now accepts new valuequit
andopen
- allow setting
dirvish-default-layout
tonil
- add
dirvish-subtree-icon-scale-factor
user option (#185) - fetch
vc-info
attribute asynchronously - add
dirvish-inactive
face - add
dirvish-collapse-separator
user option (#263) - support session|buffer locally attributes and mode-line-format (#286)
- add
dirvish-special-preview-mode
anddirvish-misc-mode
- support
dired-find-alternate-file
(#186) - sort history entries with access time (#265)
- add
dirvish-mode-line-bar-image-width
option (#252)
3.4. Full Changelog
4. 2.1.0
4.1. What's changed
- Fixed incorrect vc states https://github.com/alexluigit/dirvish/issues/224
dirvish-hide-cursors
anddirvish-hide-details
now support list of symbols- A lot of window dedication issues fixed (#194 #258 #262 #264 #293)
- Mode line errors (#233)
- Modular directory data fetching (#162 #238)
- Fixed image preview with
dirvish-peek
. - Performance imporvements with
dirvish-side
. - Respect
dired-kill-when-opening-new-dired-buffer
. - Fixed compatibility issue with
find-dired
.
4.2. Fixes from community
- Fix #158 : Delete emerge overlays when turning off the mode by @aikrahguzar in https://github.com/alexluigit/dirvish/pull/159
- docs: fix some typos by @feltcat in https://github.com/alexluigit/dirvish/pull/176
- fix(core): don't quote conditions in condition-case by @tarsius in https://github.com/alexluigit/dirvish/pull/206
- add nerd-icons support by @rainstormstudio in https://github.com/alexluigit/dirvish/pull/201
- fix(core): resolve emacs binary path in a more reliable way by @isamert in https://github.com/alexluigit/dirvish/pull/192
- Report error from fd to user by @dvzubarev in https://github.com/alexluigit/dirvish/pull/178
- Use rsync for local file copying in dirvish-rsync by @dvzubarev in https://github.com/alexluigit/dirvish/pull/180
- Add rsync transient map by @dvzubarev in https://github.com/alexluigit/dirvish/pull/181
- fd: add function that reads pattern from user by @dvzubarev in https://github.com/alexluigit/dirvish/pull/187
- Update CUSTOMIZING.org by @liguangsheng in https://github.com/alexluigit/dirvish/pull/198
- Fix an error: void-variable dv in Emacs-30.0.50 by @dvzubarev in https://github.com/alexluigit/dirvish/pull/251
- Remove the restriction on printing for `dirvish-data-for-dir` by @isamert in https://github.com/alexluigit/dirvish/pull/266
- Define new faces for all VC states by @protesilaos in https://github.com/alexluigit/dirvish/pull/222
- fix(dired-noselect): Support both lists and strings by @jcf in https://github.com/alexluigit/dirvish/pull/257
- subtree respect dired-omit-mode now by @eki3z in https://github.com/alexluigit/dirvish/pull/268
- refactor(yank): rework copying r2r case for rsync by @dvzubarev in https://github.com/alexluigit/dirvish/pull/215
- fix(subtree): "toggle or open" should open file, not view it by @brownts in https://github.com/alexluigit/dirvish/pull/281
- fix(yank): silence byte-compiler by @tarsius in https://github.com/alexluigit/dirvish/pull/220
… …