dirvish

alexluigitGPL-3.0活跃维护

给 Emacs Dired 加上开箱即用的增强配置,让文件管理界面更精致顺手,省去自己拼装各种插件的麻烦。

A polished Dired with batteries included.

2.3.0发布于 2025-04-26 11:56 UTC1,146star65fork同步于 2026-11-07 07:33 UTC

怎么上手

由 README 提炼,执行前请确认
M-x package-install RET dirvish RET
M-x dirvish-override-dired-mode RET
硬件要求按 README 说明

README 未说明;仅需 Emacs 28.1+,无特殊硬件要求

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

给 Emacs 内置 Dired 加上现代化界面和完整文件管理能力的增强包

给 Emacs Dired 加上开箱即用的增强配置,让文件管理界面更精致顺手,省去自己拼装各种插件的麻烦。

核心能力

  • 在 Dired 之上提供可高度定制的可视化界面
  • 内置一整套扩展,把 Dired 变成现代文件管理器
  • 用 transient.el 提供 dirvish-dispatch 快捷键菜单
  • dirvish-dwim 在非单窗口时避免占满整个 frame
  • 灵感来自 ranger,部分扩展重写自 dired-hacks

容易踩的坑

需 Emacs 28.1 及以上版本;安装后要手动开启 dirvish-override-dired-mode 才全局生效;包来自 Nongnu-Elpa 或 Melpa,需先配置好对应软件源

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本2.3.0
  1. 2.3.0最新正式版2025-04-26 · 2025-04-26 11:56 UTC
  2. 2.2.72025-03-12 · 2025-03-12 16:54 UTC
    查看更新说明

    What's changed

    • use different handlers for local / sudo / remote connections
    • responsive & aligned git-msg attribute (github style)
    • support changing display order of some attributes
    • bug fixes for dirvish-subtree

    Screenshots

    https://github.com/alexluigit/binaries/raw/refs/heads/main/dirvish/assets/git-msg.mp4

    Full Changelog: https://github.com/alexluigit/dirvish/compare/2.2.3...2.2.7

  3. 2.2.32025-03-08 · 2025-03-08 13:28 UTC
    查看更新说明

    Emergency fixes for 2 bugs in 2.2.0:

    • Error caused by mismatched vc-backend when expanding subtree
    • Incorrect resetting after quitting dirvish-side

    New feature:

    • dirvish-quit now works in all dirvish windows (#309)
  4. 2.2.02025-03-07 · 2025-03-07 13:34 UTC
    查看更新说明

    BREAKING Changes

    • preview text files using proxy buffer (#184 #195 #270 #295)
    • replace magick with libvips for faster image preview (#218)
    • use 7-zip for archive preview
    • support font preview

    Other changes

    • dirvish-reuse-session now accepts new value quit and open
    • allow setting dirvish-default-layout to nil
    • add dirvish-subtree-icon-scale-factor user option (#185)
    • fetch vc-info attribute asynchronously
    • add dirvish-inactive face
    • add dirvish-collapse-separator user option (#263)
    • support session|buffer locally attributes and mode-line-format (#286)
    • add dirvish-special-preview-mode and dirvish-misc-mode
    • support dired-find-alternate-file (#186)
    • sort history entries with access time (#265)
    • add dirvish-mode-line-bar-image-width option (#252)

    Screenshots

    Full Changelog: https://github.com/alexluigit/dirvish/compare/2.1.0...2.2.0

  5. 2.1.02025-02-14 · 2025-02-14 17:59 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/alexluigit/dirvish/

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    #+AUTHOR: Alex Lu #+EMAIL: [email protected] #+startup: content #+html:

    #+html: A polished Dired with batteries included

    • Introduction

    Dirvish enhances Emacs' built-in Dired mode, providing a visually appealing and highly customizable interface. More than just a facelift, Dirvish delivers a comprehensive suite of features, transforming Dired into a modern and fully functional file manager.

    #+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.

    -- Special thanks to @noctuid for [[https://github.com/alexluigit/dirvish/issues/34][this summary of Dirvish]] #+end_quote

    • Screenshots

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

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

    • Installation

    Dirvish is available from [[https://elpa.nongnu.org/nongnu/dirvish.html][Nongnu-Elpa]] and [[https://melpa.org/#/dirvish][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=.

    • Quickstart
    • =M-x dirvish RET=

      Welcome to Dirvish! Use your favorite dired commands here, press q to quit.

    • =M-x dirvish-dwim RET=

      Works the same as dirvish when the selected window is the only window; otherwise, it avoids occupying the entire frame.

    • =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 to dirvish-mode-map. See [[file:docs/CUSTOMIZING.org][example config]] for details.

    • Documentation

    For more dirvish customization options and features, see our documentation:

    • [[file:docs/CUSTOMIZING.org][Customizing]]
    • [[file:docs/EXTENSIONS.org][Extensions]]
    • [[file:docs/FAQ.org][FAQ]]
    • [[file:docs/EMACS-NEWCOMERS.org][Absolute beginner's guide]]
    • Resources

    To delve deeper into Dirvish, explore these resources:

    • Acknowledgements

    This package draws inspiration from the terminal file manager [[https://github.com/ranger/ranger][ranger]]. Some extensions began as rewrites of packages from [[https://github.com/Fuco1/dired-hacks][dired-hacks]], but have since been significantly enhanced.

    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://elpa.nongnu.org/nongnu/dirvish.html][file:https://elpa.nongnu.org/nongnu/dirvish.svg]] [[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]]