特定缓冲区的emacs截断模式?

特定缓冲区的emacs截断模式?,emacs,Emacs,在我的~/.emacs中,我有 (global-visual-line-mode t) 然而,如果emacs窗口太小且太窄,则很难读取缓冲区列表。我如何设置它,以便有缓冲区列表(以及可能的其他缓冲区)来截断模式?大多数模式都有一个钩子,在设置模式时运行,通常以…-mode hook的形式命名。您可以添加到模式的钩子以截断行(有效地关闭可视行模式): (添加钩子) “某种模式挂钩 "(lambda) (切换截断线1) ) ) 它在我身上运行,带speedbar模式: (add-hook 'sp

在我的~/.emacs中,我有

(global-visual-line-mode t)

然而,如果emacs窗口太小且太窄,则很难读取缓冲区列表。我如何设置它,以便有缓冲区列表(以及可能的其他缓冲区)来截断模式?

大多数模式都有一个钩子,在设置模式时运行,通常以
…-mode hook
的形式命名。您可以添加到模式的钩子以截断行(有效地关闭
可视行模式
):

(添加钩子)
“某种模式挂钩
"(lambda)
(切换截断线1)
)
)

它在我身上运行,带speedbar模式:

(add-hook
 'speedbar-mode-hook
 '(lambda ()
    (visual-line-mode 0) ; disable only in the buffer sr-speedbar
    )
 )

经过一点研究,似乎
Buffer menu mode hook
是按Buffer menu mode运行的钩子,Buffer list中使用的模式。请注意,如果使用标准宏定义了模式,钩子将存在并运行(以其他方式定义的模式通常仍会处理此问题)。因此,大多数情况下,您可以使用
M-:major mode RET
来获取模式名称,然后将
-hook
附加到该名称上。我觉得在以编程方式执行某些操作时,对于特定缓冲区,使用
(setq truncate lines t)
(setq truncate lines nil)
可以更好地控制。对于我的大脑来说,把这个变量看作一个函数总是有点困难,但我不知道为什么。