A polished Dired with batteries included
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.
– @noctuid (source)
Dirvish is an improved version of the Emacs inbuilt package Dired. It not only gives Dired an appealing and highly customizable user interface, but also comes together with almost all possible parts required for full usability as a modern file manager.
This package requires GNU ls
(gls
on macOS), and optionally:
fd
as a faster alternative tofind
imagemagick
for image previewpoppler
|pdf-tools
for pdf previewffmpegthumbnailer
(Linux/macOS) |mtn
(Windows) for video previewmediainfo
for audio/video metadata generationtar
andunzip
for archive files preview
Toggle install instructions
brew install coreutils fd poppler ffmpegthumbnailer mediainfo imagemagick
apt install fd-find poppler-utils ffmpegthumbnailer mediainfo imagemagick tar unzip
pacman -S fd poppler ffmpegthumbnailer mediainfo imagemagick tar unzip
pkg install gnuls fd-find poppler ffmpegthumbnailer ImageMagick7 gtar
# install via Scoop: https://scoop.sh/
scoop install coreutils fd poppler imagemagick unzip
You might also want to install mtn for video preview.
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
.
M-x dirvish RET
Welcome to Dirvish! Use your favorite dired commands here!
M-x dired
|dired-jump
| …RET
Dirvish takes care all of your Dired entries.
M-x dirvish-dwim RET
If the selected window is the only window, open Dirvish, otherwise open Dired.
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.
For more dirvish customization options and features, see our documentation:
To delve deeper into Dirvish, explore these resources:
This package took inspiration from the terminal file manager ranger and treemacs from Alexander Miller. Some of the extensions was initially a rewrite of packages provided by dired-hacks. These extensions have been greatly enhanced in comparison to the original versions.
Thanks Fox Kiester (@noctuid) for the awesome summary of Dirvish.
Code contributions:
Useful advice and discussions:
The name dirvish is a tribute to vim-dirvish.