【问题标题】:emacs truncate mode for specific buffers?特定缓冲区的emacs截断模式?
【发布时间】:2014-02-14 12:58:07
【问题描述】:

在我的 ~/.emacs 中,我有

(global-visual-line-mode t)

但是,如果 emacs 窗口又窄又窄,这会使缓冲区列表难以阅读。我该如何设置它,以便我可以让缓冲区列表(以及可能的其他缓冲区)截断模式?

【问题讨论】:

    标签: emacs


    【解决方案1】:

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

    (add-hook
     'some-mode-hook
     '(lambda ()
        (toggle-truncate-lines 1)
        )
     )
    

    【讨论】:

    • 经过一番研究,似乎Buffer-menu-mode-hook是Buffer菜单模式运行的钩子,缓冲区列表中使用的模式。
    • 请注意,如果使用标准宏定义模式,则挂钩存在并运行(并且以其他方式定义的模式通常仍会处理此问题)。所以大多数情况下您可以使用M-: major-mode RET 来获取模式名称,然后将-hook 附加到该名称。
    • 在以编程方式执行某些操作时,我觉得使用 (setq truncate-lines t)(setq truncate-lines nil) 对特定缓冲区有更多控制权。我的大脑一直觉得这个变量是一个函数有点困难,但我不确定为什么会这样。
    【解决方案2】:

    它对我有用,使用速度条模式:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      • 2014-02-26
      • 1970-01-01
      相关资源
      最近更新 更多