提问: 请问如何取消 doom-modeline 的 ace-window-display-mode 和 版本控制 呢?

(after! doom-modeline
  (setq doom-modeline--vcs nil ;; 不用显示版本控制
        doom-modeline-vcs-icon nil
        doom-modeline-vcs-display-function ""
        doom-modeline-vcs-max-length 0
        doom-modeline-buffer-file-name-style 'buffer-name ;; 窗口只显示文件名称
        display-time-mail-string "" ;; 不要显示 mail 字符
        display-time-format "%H:%M"
        display-time-default-load-average nil
        display-time-day-and-date nil
        doom-modeline-always-visible-segments t
        line-number-mode nil
        )
  (after! doom-modeline
  (remove-hook 'doom-modeline-mode-hook #'size-indication-mode)) ;; 取消显示文件的大小显示器
  (after! doom-modeline
  (remove-hook 'doom-modeline-mode-hook #'column-number-mode)) ;; 取消列显示
  (display-time-mode t)
  (force-mode-line-update 'all)
  (display-battery-mode t)
  (setq doom-modeline-battery t) ;; 显示电池情况
  (setq doom-modeline-buffer-encoding nil) ;; 不显示是什么编码
)

我尝试了很久, 始终取消不了, 请求帮助, 谢谢!!!

1 个赞

有以下几种方法:

  1. 禁用 ace-window-display-mode
  2. 禁用 winown-number segment。在modeline定义中去掉即可。
  3. 重写 window-number segment。用 doom-modeline-def-segment

具体操作参见 README。

谢谢老哥, 但是抱歉我问题没表达清楚, 在您回答我之前, 我去问了下 Henrik, 他说这个编号是来自 winum-mode 而不是来自 ace-window-display-mode, 所以我去读了 winum 的文档, 里面说是 winum-auto-setup-mode-line 这个变量控制的在 modeline 显示 window number.

但现在最大问题是, 我已经设置 winum-auto-setup-mode-linenil 了, 但 doom-modeline 还是显示 window-number

原理是一样的啊,禁用 winum-mode 或者自定义segment/mode-line。

2 个赞

Okay, 解决啦, 谢谢您.

解决方案如下:

  (after! doom-modeline
    (advice-add #'doom-modeline-segment--window-number :override #'ignore))