在 Emacs Dired 中识别 VC 下的文件

Identify files under VC in Emacs Dired

.emacs 包含:

(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)

我可以轻松地从目录中识别文件(无需查看 'd' 标志)。

我想区分受版本控制的文件和不受版本控制的文件。

在 SVN 和 git Emacs 模式上花了很多时间后,我得出结论(也许是仓促地)它们还没有准备好迎接黄金时段,或者至少基本的事情仍然需要通过命令完成行(因此从命令行执行所有操作更容易),但这一个特别讨厌。

能否推荐一个轻量级的方法来区分VC下的文件? (或者,如果不是轻量级的,提供合适的 .emacs 配置?)

我认为 diff-hl 软件包可能就是您要找的。它不仅标记已更改的文件,还标记不受 VC 控制的文件(在 VC 控制目录中)。

照常安装 (M-x package-install RET diff-hl) 然后在初始化文件中:

(global-diff-hl-mode)     ; enables diff-hl for all buffers
(diff-hl-flydiff-mode)    ; diff-hl marks changes on the fly
(add-hook 'dired-mode-hook 'diff-hl-dired-mode)  ; adds diff-hl for dired mode

您还需要启用 fringe-mode 才能使其正常工作,但我认为 Emacs 是预装的。您可以使用菜单 Options > Show/Hide > Fringe 检查边缘是否设置为 None.

哦,说到 VC(至少 Git)支持,我觉得 magit 令人满意。它对我的需求来说太复杂了(而且我仍然没有弄清楚如何克隆或初始化回购,所以我使用 dired 并在 . - 当前目录上执行 git init 或克隆),但它是可靠的并完成它的工作。