我最近使用dirvish时有个小问题感觉非常不方便:字体太大显示丑陋。如何给dirvish设置较小字体?
因为项目文件较多,目录层级较深,dirvish显示时把较长较深的文件换行显示,看起来非常丑:
vscode显示文件的侧栏就使用了比编辑区更小的字体。
dirvish很好用,最近作者也回归开发了,希望越来越好。
我最近使用dirvish时有个小问题感觉非常不方便:字体太大显示丑陋。如何给dirvish设置较小字体?
因为项目文件较多,目录层级较深,dirvish显示时把较长较深的文件换行显示,看起来非常丑:
vscode显示文件的侧栏就使用了比编辑区更小的字体。
dirvish很好用,最近作者也回归开发了,希望越来越好。
按理说,这种界面,不应该开启折行呀。
可以关闭折行试一试:
(toggle-truncate-lines 1)
另外,改变字体,你需要看看上面用的什么 face 或 overlay:
describe-char
命令;然后就可以修改对应的 face,就可以调整字号、颜色等
有时候,字符字体没有特别设置,那就是继承的 default
,而你又不想改变 default
的样式,那么可以自己新建一个 face,然后利用 hook,在这个 buffer 打开时,覆盖一下 default
的 face:
(defface test '() "new face")
(set-face-attribute 'test nil :height 150)
;; add to hook
(face-remap-add-relative 'default 'test)
;; Doom Emacs, for `solaire-mode' is enable in special buffer
(face-remap-add-relative 'solaire-default-face 'test)
直接hook一下text-scale-decrease
?text-scale-FOO应该都只对当前buffer生效的
确实呀!如果只改变字号的话,用 text-scale-decrease
更直接方便。
可以使用根据模式来设置字体,height就是设置字体的大小
(defun my-set-font-for-mode ()
(cond
((derived-mode-p 'dired-mode)
(setq-local face-remapping-alist '((default (:family "M PLUS Code Latin 50" :height 180) default))))
((derived-mode-p 'vterm-mode)
(setq-local face-remapping-alist '((default (:family "Kode Mono" :height 160) default))))
))