Dirvish: 基于 Dired 的极简、一站式文件管理器

你提到的 dired-toggle-read-only 的这个问题我在最新的版本上没有遇到,如果还是存在的话麻烦你去提下issue吧。感谢支持!

@doing1024 @Deeson @MirageTurtle

除了少数需要在多个历史 dired buffers 里保留 marks 的情况,我想大部分情况下我们只需要保留最近打开的目录(也就是当前的dired buffer), 那这种情况可以先按 q 先退出dirvish,等需要恢复的时候直接切换到这个buffer就好了,布局会自动恢复的。

如果还是真的很在意这些预览buffer,一个也不想看见的话,覆盖默认的文件预览也不是不可以。这里我以用外部 bat 命令为例 (不会产生预览buffer, 异步也比较快)。

(dirvish-define-preview fallback (file)
  "Use `bat' to preview FILE, this overrides the fallback dispatcher."
  :require "bat"
  `(shell . ("bat" "--color=always" ,file)))
1 个赞

没太明白折叠的意思,不知道 dirvish-subtree 和 dirvish-collapse 是不是你要找的。

是不是指希望在side里面关闭一些attributes?

可以的,物色几个大佬帮忙。

就是 java 目录、文件名称较长,展示会换行。

(setq-default truncate-lines t)

这个?

把 mtn 和 convert 的问题解决了,在 commit log 和文档里注明了你的ID。如果还有要补充的欢迎大佬PR哈

1 个赞

新特性:

  • 字体预览

Screenshot 2025-03-07 at 21 23 25

  • 切换图片处理后端至libvips,无缓存图片预览速度提升 4 倍
  • 新的文本文件预览方式,不再直接打开文件,速度更快,可通过 dirvish-preview-buffers-max-count 选项控制预览 buffer 数量。

此版本也包括了其他bug修复及性能改进,具体请阅读 Release Notes。

6 个赞

请教个问题,这个 dirvish-mode-linedirvish-header-line 显示高度更原来的 mode-line 的高度不一致。这个怎么配置 可以让它们高度相似一致呢?

C-h v dirvish-mode-line-height

请问一下现在最新版本Dirvish在Windows平台可用吗?

我去年在 Windows 上用过一段时间,主要发现3个问题

  1. 有些文件格式不能预览
  2. header-line 上的 path 显示不太准确 (具体怎么个不准我忘记了)
  3. 用 dirvish-peek-mode 预览的时候窗口有时候会被莫名其妙地抢占

最大的问题是1. 现在在 @samb233 的排查之下解决了,我也把预览压缩文件的依赖改成了7-zip, 对 Windows 也更友好一点。

至于 2 和 3 还有其他可能的小毛病,因为没怎么影响到我,也没人提 issue, 我也就睁一只眼闭一只眼了。还是有些用户在 windows 上使用的, 所以总体上我估计是有些显示问题,但能用。如果想试试的话欢迎提 issue 或者 PR 哈。

2 个赞
  (dirvish-define-preview azw3 (file azw3 preview-window)
	"Preview azw3 files.
Require: `ebook-meta' (executable)"
	(when (or (equal ext "azw3") (equal ext "mobi"))
      (let* ((width (dirvish-media--img-size preview-window))
			 (height (dirvish-media--img-size preview-window 'height))
			 (cache (dirvish-media--cache-path file (format "images/%s" width) ".jpg")))
		(if (file-exists-p cache)
			`(img . ,(create-image cache nil nil :max-width width :max-height height))
          `(cache . ("/usr/local/bin/ebook-meta" "--get-cover" ,cache ,file))))))
  (setq dirvish-preview-dispatchers '(azw3 image gif audio epub video eza pdf-preface))

之前我在init.el里面加的预览 azw3/mobi电子书封面 的代码这两天咋不能用了呢?

dirvish-media--cache-path 重构了,把这句改成

(dirvish--img-thumb-name file width ".jpg")

私有函数很可能改名或重构,一般需要你自己看提交历史或者源码。

多谢分享,有空在 Windows 上试试。

1 个赞

这算一种文件格式的浏览了吧?但是得依赖calibre程序里的ebook-meta。

文件类型太多,大家提交预览代码,是不是只能向 dirvish-widgets.el 文件里提交。 可以想个更方便的方法吗?

我感觉 Emacs 本身就能处理的文本文件和 dirvish 额外支持的几百种文件类型已经能满足绝大多数需要了。余下的需求相对来讲比较小众, 再加上还要考虑各个平台的支持问题,不太适合直接加进 dirvish-widgets 里, 毕竟这个文件是默认 require 的。也许可以另写一个 extension 或者直接开一个新项目,单独维护。

确实。 像这样的azw3自己放到init.el里就行了。

写进 wiki 里了,不知道你的 github id 是啥,就先这么写了哈 :rofl: wiki 应该是大家都可以编辑的。