- 操作系统为:macOS 10.15.6 (19G73)
- Emacs 版本为:emacs-plus@27
- Emacs 配置为:doom-emacs
大家好,我最近刚开始使用 Emacs,因为用了 centaur-tabs 所以想隐藏 doom-modeline 里的 buffer name,如图:
我阅读了 doom-modeline README 中的 Customize 并在其中找到了有关联的配置,仔细阅读后发现没有隐藏的选项。
;; Determines the style used by `doom-modeline-buffer-file-name'.
;;
;; Given ~/Projects/FOSS/emacs/lisp/comint.el
;; auto => emacs/lisp/comint.el (in a project) or comint.el
;; truncate-upto-project => ~/P/F/emacs/lisp/comint.el
;; truncate-from-project => ~/Projects/FOSS/emacs/l/comint.el
;; truncate-with-project => emacs/l/comint.el
;; truncate-except-project => ~/P/F/emacs/l/comint.el
;; truncate-upto-root => ~/P/F/e/lisp/comint.el
;; truncate-all => ~/P/F/e/l/comint.el
;; truncate-nil => ~/Projects/FOSS/emacs/lisp/comint.el
;; relative-from-project => emacs/lisp/comint.el
;; relative-to-project => lisp/comint.el
;; file-name => comint.el
;; buffer-name => comint.el<2> (uniquify buffer name)
;;
;; If you are experiencing the laggy issue, especially while editing remote files
;; with tramp, please try `file-name' style.
;; Please refer to https://github.com/bbatsov/projectile/issues/657.
(setq doom-modeline-buffer-file-name-style 'auto)
接着我尝试了一下 nil
,但是正如预料的,没有效果。
(setq doom-modeline-buffer-file-name-style nil)
接着我 Google了 emacs hide modeline buffer name 和 emacs hide major mode in modeline 但发现结果都是 hide minor mode 或者直接 hide modeline,也许是我忽略了某些搜索结果。
所以请问怎样才能隐藏 doom-modeline 里的 buffer name呢?谢谢
(doom-modeline-def-segment buffer-info
"buffer info segment."
"")
(doom-modeline-def-segment buffer-info-simple
"simple buffer info segment."
"")
1 个赞
感谢您的回复,不过我有些愚钝,不太能理解到该怎么使用这段代码。
当我把它放到 ~/.doom.d/config.el
里时,出现了 void-function
的错误,
我尝试看了一下源码,由于自己的 Emacs Lisp 水平太低,所以未能看懂您的代码
还请您多多指教
因为doom-odeline-def-segment
在加载 doom-modeline
文件之前被使用,而它有没有使用
;;;###autoload
魔法注释.
可以使用 doom自带的
(after! doom-modeline
(doom-modeline-def-segment buffer-info
"buffer info segment."
"")
(doom-modeline-def-segment buffer-info-simple
"simple buffer info segment."
""))
;; 或在 执行 doom-modeline-def-segment 之前使用
(require 'doom-modeline)
2 个赞
太棒了!开心😄 ~
谢谢二位的帮助!我从你们的回答中获取了新的知识和方法,非常感谢!
解决问题就好。不过这需求着实奇怪,tab多占一行空间并没有太多用处,还耗去不少内存啊。
因为之前用的是 Sublime, VSCode 之类的,又因为经常用浏览器里的 tab,对 tab 比较习惯,感觉比较符合培养出来的直觉。只是目前想要达到类似的体验,感觉还是要花费一番精力。
tab 耗去不少内存之前我倒是没有这样的意识,感谢指点。
个人觉得,用Emacs习惯buffer切换更有效率。
我刚开始也是用的buffer切换,去年开始用了猫哥的awesome-tab 以后就习惯用tab切换buffer了,tab更直观一些。 目前最新版27.1 自带tab功能。
其实啊,在chrome里开了50+个网页的时候,看着那堆tab心里就有一万头草泥马飘过
同感,你不说我还真没注意有那么多,刚数了一下自己Chrome的Tabs, 40+ 正好排满屏幕。日常都是太满了才删几个。 不过Emacs里面我一般最多开7个,太多了就直接清空,只保留当前。
Emacs China 论坛什么时候开发了Chrome应用,不错啊
哈哈哈,分享一下我个人习惯(一般不会超过15个):
- 我一般不用的随手就关了,使用 Chrome 的 Vim 模拟插件,
x
或者 数字 + x
- 关的多的话会用: Keyboard Shortcuts to Close Other/Right Tabs
- 一般稍后读的,我都会存在:Chrome Read Later (自己写的一个小插件)
Kinney
14
27的 tab-bar-mode 也很不错,可以在多个screen的布局间切换,可惜目前Mac上还用不了。
Kinney
16
wsug
18
27.1自带tab-bar栏,还有tab-line? 囧,感谢大佬提醒,因为我自定义了header-line的原因,之前尝试centaur-tabs, awesome-tab的时候,发现都是用的header-line实现的tab,会覆盖我自定义的header-line,然后我就放弃了tab,感觉不是必须的,buffer50+…… 但当我每次看到vsc的tab和tab的下面的那一行显示文件完整路径,就会想我emacs居然整不出来这个界面,虽然不用tab来切换buffer,但总感觉这样看起来要舒服一点
看了27.1的tab-bar栏和tab-line不是用header-line实现的,与我自定义header-line不冲突
1 个赞
tab-line不会占据header-line。不过tab-bar这个名字会很让人迷惑。tab-line配置下能接近centaur-tabs的效果,理论上性能会好些,不过还是等成熟一段再说吧。我近期不打算使用。
Kinney
20
不,我需要的是tab-bar, 我觉得tab-line没有tab-bar实用,同一个window下的buffer切换我用switch-buffer就很方便了。而tab-bar可以保存整个screen的布局。