如何在Emacs中设置鼠标缓冲区菜单中项目的数量?

9
当我在Emacs中按下Ctrl +左键,我会得到鼠标缓冲区菜单。这是我最喜欢的切换缓冲区的方式,但是如果缓冲区列表太长,它会重新组织列表成子菜单(fundamental、LISP、其他等...)。我真的很讨厌这个,因为我发现很难找到我要找的缓冲区。
我的问题是:我如何设置鼠标缓冲区菜单中Emacs显示的项目数,在将菜单分成子菜单之前?(显然我想增加它!)
2个回答

9
以下两个变量可以让您对此有一定的控制:
  • mouse-buffer-menu-maxlen
  • mouse-buffer-menu-mode-mult
我的理解是,后者是在给定主模式中的缓冲区的最大数量,在该模式获得自己的子菜单之前,前者是任何子/菜单中允许的缓冲区的最大数量,在它分成多个菜单之前。
请根据需要设置setq或使用M-x customize-group RET mouse RET

谢谢!正是后面的值起了作用 - 我增加了数字,得到了我想要的效果。干杯! - Kaffiene

5

以下是完整的代码及其详细说明,可添加到.emacs文件中

还请注意,mouse-buffer-menu-mode-mult优先级较高

为了立即评估以下内容并看到效果,请突出显示并键入M-x eval-region或将光标放在每个()内并键入M-C-x

;; "ctrl - left click" buffer menu: increase number of items shown
;; set max length of this list. default 20. see next.
(setq mouse-buffer-menu-maxlen 30)
;; set # buffer in a mode before grouping begins. takes precedence over previous
;; set to 1 to always group by mode. default 4
(setq mouse-buffer-menu-mode-mult 8)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接