dirvish 
- Description
- A modern file manager based on dired mode
- Latest
- dirvish-2.1.0.tar (.sig), 2025-Feb-14, 410 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
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.
3. Prerequisites
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
for video previewmediainfo
for audio/video metadata generationtar
andunzip
for archive files preview
Toggle install instructions
macOS
brew install coreutils fd poppler ffmpegthumbnailer mediainfo imagemagick
Debian-based
apt install fd-find poppler-utils ffmpegthumbnailer mediainfo imagemagick tar unzip
Arch-based
pacman -S fd poppler ffmpegthumbnailer mediainfo imagemagick tar unzip
FreeBSD
pkg install gnuls fd-find poppler ffmpegthumbnailer ImageMagick7 gtar
Windows (untested)
# install via Scoop: https://scoop.sh/ scoop install coreutils fd poppler imagemagick unzip
4. Installation
5. Quickstart
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.
6. Resources
7. Acknowledgements
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.
Old versions
dirvish-2.0.53.tar.lz | 2024-Nov-29 | 75.5 KiB |
News
1. 2.1.0
1.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
.
1.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
- Fix typos by @tarsius in https://github.com/alexluigit/dirvish/pull/227
- Fix custom type specifications by @tarsius in https://github.com/alexluigit/dirvish/pull/239
- yank: fixes for recent r2r refactor commit by @dvzubarev in https://github.com/alexluigit/dirvish/pull/287
- Fix broken link to purcell's emacs in EMACS-NEWCOMERS.org by @LV in https://github.com/alexluigit/dirvish/pull/278
- docs: document the nil case for dirvish-default-layout. by @nicolas-graves in https://github.com/alexluigit/dirvish/pull/231
- Split dirvish-yank–execute into two functions by @dvzubarev in https://github.com/alexluigit/dirvish/pull/290
- fix: prevent killing emacsclient started on a directory by @prati0100 in https://github.com/alexluigit/dirvish/pull/293
- perf(dirvish-peek): prevent redundant updates by tracking previous candidate by @zsxh in https://github.com/alexluigit/dirvish/pull/297
2. 2.0.53
2.1. Breaking changes
Use simulated dired buffers for parent directory and directory preview
Prior to V2.0, `dirvish` command would create a ton of dired buffers because `dired-noselect` function were used to generate parent buffers and preview buffers for directory entries. Now these buffers are created internally by dirvish, meaning they'll not showing up as dired/dirvish buffers in your buffer list.
2.2. Changes since 1.9.23
core
:- bind
dirvish-dispatch
toq
- add basic perspective.el support
- allow user to have classic dired header (#96)
- basic mouse support
- add
dirvish-hide-cursor
user option (#119)
- bind
… …