是的,因为一开始没有图标,就启动了 all-the-icons-dired-mode
你试试看
(setq! dirvish-face-remap-alist
'((header-line :height 1.04 :box (:line-width 4 :color "#303030"))
(highlight :inherit (diredfl-flag-mark) :extend t)))
不知道你是不是这个意思
你那个文件名那里怎么颜色不一样啊? 你特意改的吗
你稍等下,我打个补丁
(set-face-attribute 'dirvish-hl-line nil
:foreground (face-attribute 'diredfl-flag-mark :foreground)
:background (face-attribute 'diredfl-flag-mark :background))
你更新之后设置这个 效果应该是这样
把 dirvish-face-remap-alist 的设置去掉,不需要这个了。
还有就是你这个 set-face-attribute 应该要在 diredfl 加载之后执行。
实在不清楚你的为什么是这样的。 我反正是这样写的 然后 init.el 里面就是开了 :emacs 那一栏的 dired
(use-package! diredfl)
(use-package! dirvish
:after (diredfl all-the-icons)
:config
(dirvish-override-dired-mode +1)
(setq dirvish-attributes '(all-the-icons file-size))
(set-face-attribute 'dirvish-hl-line nil
:foreground (face-attribute 'diredfl-flag-mark :foreground)
:background (face-attribute 'diredfl-flag-mark :background)))
别的没了。估计还是有什么其他配置影响了,但是 doom 比较复杂,我不是太懂。
你可以试试用 vscode-icon 的图标,看是不是正常的。如果正常那很有可能是你 all-the-icons-dired 相关配置的问题。
(package! vscode-icon)
(use-package! dirvish
:after (diredfl vscode-icon)
:config
(setq dirvish-attributes '(vscode-icon file-size))
(setq dirvish-icon-size 23)
(set-face-attribute 'dirvish-hl-line nil
:foreground (face-attribute 'diredfl-flag-mark :foreground)
:background (face-attribute 'diredfl-flag-mark :background)))
用了 vscode-icon 也这样,主题是 doom-one ,不知道是哪儿问题
我知道是为啥了,我用的不是 m
键 mark
的,是用的 evil 的 VISUAL LINE
模式选中的,所以有问题,用 m
d
之类的选中是可以的
我使用了这行代码后出现了错误:
Debugger entered--Lisp error: (error "Invalid face" dirvish-hl-line)
internal-set-lisp-face-attribute(dirvish-hl-line :foreground "#ECBE7B" 0)
set-face-attribute(dirvish-hl-line nil :foreground "#ECBE7B" :background "#4f4942")
eval((set-face-attribute 'dirvish-hl-line nil :foreground (face-attribute 'diredfl-flag-mark :foreground) :background (face-attribute 'diredfl-flag-mark :background)) nil)
elisp--eval-last-sexp(nil)
eval-last-sexp(nil)
funcall-interactively(eval-last-sexp nil)
call-interactively(eval-last-sexp)
meow--keypad-try-execute()
meow-keypad-self-insert()
funcall-interactively(meow-keypad-self-insert)
call-interactively(meow-keypad-self-insert nil nil)
command-execute(meow-keypad-self-insert)
我看了一下, dirvish-hl-line 是存在的,可是无法调用
配置是我自己写的
(require 'dirvish)
(setq dirvish-preview-dispatchers (remove 'directory-exa dirvish-preview-dispatchers))
(setq dirvish-attributes '(all-the-icons file-size))
(dirvish-override-dired-mode t)
(set-face-attribute 'dirvish-hl-line nil
:foreground (face-attribute 'diredfl-flag-mark :foreground)
:background (face-attribute 'diredfl-flag-mark :background))
你是想要和他一样的效果吗?
(require 'dirvish)
(custom-theme-set-faces
'user
'(dirvish-hl-line ((t (:inherit 'diredfl-flag-mark)))))
试了下,发现 dirvish 选中文件后就消失了,能配置成 VSCode 文件管理器那样嘛,一直在左边开着不关闭。
另外,能解决 always highlight current file · Issue #65 · jojojames/dired-sidebar · GitHub 这个问题嘛,周末我自己试着写 overlay,没能成功。。。
dired-find-file-other-window
不就不关了吗。
另外,能解决 always highlight current file · Issue #65 · jojojames/dired-sidebar · GitHub 这个问题嘛
dirvish 默认就是这样的,不用设置。