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 ([[https://github.com/alexluigit/dirvish/issues/34][source]])
Dirvish is an improved version of the Emacs inbuilt package [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired.html][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/:
@@html:@@ @@html:@@Toggle install instructions@@html:@@ @@html:
@@
@@html:h2>@@macOS@@html:</h2@@
brew install coreutils fd poppler ffmpegthumbnailer mediainfo imagemagick
@@html:h2>@@Debian-based@@html:</h2@@
apt install fd-find poppler-utils ffmpegthumbnailer mediainfo imagemagick tar unzip
@@html:h2>@@Arch-based@@html:</h2@@
pacman -S fd poppler ffmpegthumbnailer mediainfo imagemagick tar unzip
@@html:h2>@@FreeBSD@@html:</h2@@
pkg install gnuls fd-find poppler ffmpegthumbnailer ImageMagick7 gtar
@@html:
scoop install coreutils fd poppler imagemagick unzip
@@html:@@
Dirvish is available on [[https://melpa.org/#/dirvish][Melpa]]. Just type =M-x package-install RET dirvish RET= into Emacs 27.1+. =el-get= users can get the recipe from [[https://github.com/alexluigit/dirvish/issues/90][here]].
For straight.el users, it is simply:
(straight-use-package 'dirvish)
After installation, let Dirvish take over Dired globally:
(dirvish-override-dired-mode)
=M-x dirvish RET=
Welcome to Dirvish! Press =?= for help.
=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.
Resources
[[file:docs/CUSTOMIZING.org][Customizing]]
[[file:docs/EXTENSIONS.org][Extensions]]
[[file:docs/COMPARISON.org][Related projects]]
[[file:docs/CHANGELOG.org][Changelog]]
[[file:docs/EMACS-NEWCOMERS.org][Absolute beginner's guide]]
[[https://github.com/alexluigit/dirvish/discussions][Discussions]]
Acknowledgements
This package took inspiration from the terminal file manager [[https://github.com/ranger/ranger][ranger]] and [[https://github.com/Alexander-Miller/treemacs][treemacs]] from Alexander Miller. Some of the extensions was initially a rewrite of packages provided by [[https://github.com/Fuco1/dired-hacks][dired-hacks]]. These extensions have been greatly enhanced in comparison to the original versions.
Thanks Fox Kiester (@noctuid) for the awesome [[https://github.com/alexluigit/dirvish/issues/34][summary]] of Dirvish.
Code contributions:
@@html:@@ @@html:@@ @@html:@@
Useful advice and discussions:
[[https://melpa.org/#/dirvish][file:https://melpa.org/packages/dirvish-badge.svg]] [[https://stable.melpa.org/#/dirvish][file:https://stable.melpa.org/packages/dirvish-badge.svg]] [[https://github.com/alexluigit/dirvish/actions/workflows/melpazoid.yml][file:https://github.com/alexluigit/dirvish/actions/workflows/melpazoid.yml/badge.svg]]