如题,我看好像大家的dirvish都有花花绿绿的icon,辨识文件特别方便,但是我的dirvish却是这样的:
我下载了“nerd-icons”,并且我的主页和minibuffer都可以显示icons:
所以我想问问这是什么情况,是不是我没开启显示图标或者少做了什么?
如题,我看好像大家的dirvish都有花花绿绿的icon,辨识文件特别方便,但是我的dirvish却是这样的:
我下载了“nerd-icons”,并且我的主页和minibuffer都可以显示icons:
所以我想问问这是什么情况,是不是我没开启显示图标或者少做了什么?
你估计还要安装 nerd-icons-dired 这个包:
我提一点,你的 dirvish-attributes
必须包含 nerd-icons
才行,比如我的配置:
(setq dirvish-attributes '(nerd-icons file-size subtree-state))
太感谢了老师,你的回复给我了很关键的指引,当我手动 ‘set-variable’ 修改了 dirvish-attributes 变量为 nerd-icons 的时候,图标真的出现了!
我试着把他添加进 Doom-emacs 的 config.el 配置文件里,但是很奇怪,刚启动doom的时候他的变量值是正确的:
但是当我打开dirvish的时候,他变回去了:
有点神奇,好像开启 dirvish 的时候,我的改变都被重置了。
老师可不敢当
看来你并不是特别清楚 Doom 的配置架构。
Doom 包含了很多定制化的配置,比如对于 dired 而言,其存储在 ~/.emacs.d/modules/emacs/dired
里面,其中包含了以下配置:
(setq dirvish-attributes nil
dirvish-use-header-line nil
dirvish-use-mode-line nil)
(when (or (daemonp) (display-graphic-p))
(push 'vc-state dirvish-attributes))
他们会在加载 dirvish
后执行(而非 Emacs 启动后,这是因为 Doom 的大部分配置都是 lazy load 的),这就覆盖了你自己的配置(如果你自己的配置是在 Emacs 启动后就执行了的话)。
所以你可以尝试(在你的个人配置文件中):
(after! dirvish
(setq dirvish-attributes '(nerd-icons file-size subtree-state)))
把自己的个性化配置放在相应的包加载完毕之后再执行,可能就可以啦。