NonGNU ELPA - dirvish

dirvish Atom Feed

Description
A modern file manager based on dired mode
Latest
dirvish-2.0.53.tar (.sig), 2024-Nov-29, 350 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.

2. Screenshots

187678438-18c2032c-d937-4417-aca7-c59d72dcf38b.png

187436132-f15cdbf7-ed05-47ed-aa08-37c64baca2c0.png

187674778-20aad9d6-0398-4a95-a10f-f01ab164d454.png

3. Prerequisites

This package requires GNU ls (gls on some OSs), and optionally:

  • fd as a faster alternative to find
  • imagemagick for image preview
  • poppler | pdf-tools for pdf preview
  • ffmpegthumbnailer for video preview
  • mediainfo for audio/video metadata generation
  • tar and unzip 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

Dirvish is available on Melpa. Just type M-x package-install RET dirvish RET into Emacs 27.1+. el-get users can get the recipe from here.

For straight.el users, it is simply:

(straight-use-package 'dirvish)

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.

7. Acknowledgements

Thanks Fox Kiester (@noctuid) for the awesome summary of Dirvish.

The name dirvish is a tribute to vim-dirvish.


dirvish-badge.svg dirvish-badge.svg badge.svg

News

1. 2.0.53

1.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.

1.2. Changes since 1.9.23

  • core: bind dirvish-dispatch to q add basic perspective.el support allow user to have classic dired header (#96) basic mouse support add dirvish-hide-cursor user option (#119) add dirvish-redisplay-debounce option
  • quick-access: add dirvish-quick-access-function option
  • media: display media properties automatically
  • fd: allow user to select root directory for fd jump (#141) new option for default directory in dirvish-fd-jump (#138) interactive narrowing and orderless support
  • widgets: support mouse click on path header line segment add `dirvish-path-separators` option, closes #142
  • side: auto-expand to buffer file name (#113)
  • extras: add `dirvish-desktop-save-mode` (#133) add `dirvish-copy-remote-path` command, closes #110
  • vc: add `dirvish-vc-menu` prefix add `vc-log` `vc-blame` preview dispatchers
  • subtree: add indent guide make `dirvish-subtree-remove` an interactive function (#105) add subtree-up/clear commands

1.3. Fixes since 1.9.23

fix(core): set `dirvish–this` after session rebuild fix(core): avoid unexpected fullscreen session fix(core): disable font-lock-mode in shell preview fix(core): allow wildcard as entry fix(core): do not run dired-mode-hook in parent buffers fix(side): issues on frame resize update / subtree expansion #140 fix(core): session reuse issue #135 #136 fix(core): do not reuse sessions in other frames fix(side): show project in header line after project switching fix(core): only revert window config when buffer is the current one fix(tramp): support TRAMP connections with nongnu ls fix(core): `cursor-type` in `wdired-mode`, closes #132 fix(yank): backup existed files instead of new files fix(subtree): revert buffer correctly in emerged buffer fix(core): use local value of `other-window-scroll-buffer` (#131) fix(extras): autoload `dirvish-copy-*`, closes #129 fix(fd): handle systems using `fdfind` by default (#122) fix(collapse): endless while loop fix(extras): add offset when aligning text in TTY sessions (#115) fix(core): remove `mod` from `dirvish-audio-exts`, closes #114 fix(core): revert buffer upon wdired exit fix(core): inhibit undo-tree when previewing files (#107) fix(core): use hollow cursor for evil normal state in wdired-mode (#104) fix(core): emacs -q -> emacs -Q (#84) fix: `window system should be used` warning on terminal (#93) fix(fd): improve GNU ls detection (#92) fix(core): escape %-constructs in path mode line segments (#97) fix(core): mode-line not update on Emacs 27 (#93) fix(core): use `start-file-process-shell-command` to print dir fix(subtree): ensure directory name ends with / on TRAMP fix(core): shell quote filenames for git-msg (#86) fix(extras): args-out-of-range error on file-size attribute

2. 1.9.23

2.1. Breaking changes

  • Extract dirvish-media from dirvish

    dirvish-auto-cache-threshold -> dirvish-media-auto-cache-threshold New faces: dirvish-media-info-heading, dirvish-media-info-property-key New command: dirvish-media-properties

2.2. Changes since 1.8.14

  • ls: apply switches to current session on M-RET (#63)
  • narrow: C-g to cancel the narrowing / custom regex builder
  • emerge: Add dirvish-emerge-toggle-current-group command to to toggle the visibility of the group Add dirvish-emerge-group-heading-map, TAB -> dirvish-emerge-toggle-current-group Add dirvish-emerge-next/previous-group commands Add some predicates

2.3. Fixes since 1.8.14

  • core: revert to `dirvish-mode` after quit `wdired-mode`

… …