alexluigit / dirvish

A polished Dired with batteries included.
GNU General Public License v3.0
822 stars 46 forks source link
dired emacs file-manager

+AUTHOR: Alex Lu

+EMAIL: alexluigit@gmail.com

+startup: content

+html:


+html:

A polished Dired with batteries included

+begin_quote

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]])

+end_quote

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.

[[https://user-images.githubusercontent.com/16313743/189978788-900b3de7-b3e5-42a6-9f28-426e1e80c314.png][https://user-images.githubusercontent.com/16313743/189978788-900b3de7-b3e5-42a6-9f28-426e1e80c314.png]]

[[https://user-images.githubusercontent.com/16313743/189978802-f6fb09ea-13a2-4dc9-828b-992523d51dd5.png][https://user-images.githubusercontent.com/16313743/189978802-f6fb09ea-13a2-4dc9-828b-992523d51dd5.png]]

[[https://user-images.githubusercontent.com/16313743/190370038-1d64a7aa-ac1c-4436-a2a3-05cd801de0a4.png][https://user-images.githubusercontent.com/16313743/190370038-1d64a7aa-ac1c-4436-a2a3-05cd801de0a4.png]]

This package requires =GNU ls= (~gls~ on macOS), and /optionally/:

@@html:

@@ @@html:@@ @@html:@@Toggle install instructions@@html:@@ @@html:@@

@@html:h2>@@macOS@@html:</h2@@

+begin_src bash

brew install coreutils fd poppler ffmpegthumbnailer mediainfo imagemagick

+end_src

@@html:h2>@@Debian-based@@html:</h2@@

+begin_src bash

apt install fd-find poppler-utils ffmpegthumbnailer mediainfo imagemagick tar unzip

+end_src

@@html:h2>@@Arch-based@@html:</h2@@

+begin_src bash

pacman -S fd poppler ffmpegthumbnailer mediainfo imagemagick tar unzip

+end_src

@@html:h2>@@FreeBSD@@html:</h2@@

+begin_src bash

pkg install gnuls fd-find poppler ffmpegthumbnailer ImageMagick7 gtar

+end_src

@@html:

@@Windows (untested)@@html:

@@

+begin_src bash

install via Scoop: https://scoop.sh/

scoop install coreutils fd poppler imagemagick unzip

+end_src

@@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:

+begin_src emacs-lisp

(straight-use-package 'dirvish)

+end_src

After installation, let Dirvish take over Dired globally:

+begin_src emacs-lisp

(dirvish-override-dired-mode)

+end_src

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:

The name dirvish is a tribute to [[https://github.com/justinmk/vim-dirvish][vim-dirvish]].

[[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]]