【问题标题】:Disabling 'linum-mode' for speedbar when global 'linum-mode' is active当全局“linum-mode”处于活动状态时禁用速度条的“linum-mode”
【发布时间】:2014-02-05 00:15:24
【问题描述】:

我在 Emacs 配置中全局启用了 linum-mode。全局启用意味着它也适用于不受欢迎的 speedbar

我发现的关于这个问题的唯一建议是在存档的 Emacs 帮助邮件列表中,它建议以下speedbar-mode-hook

(add-hook 'speedbar-mode-hook (lambda () (linum-mode -1)))

不幸的是,将此添加到我的配置中并没有达到预期的效果,并且速度栏仍然有行号。

编辑: 上面的add-hook 毕竟似乎工作正常,至少对于 Emacs >= 24.3。留下问题以供参考,因为在 StackOverflow 上没有与此问题相关的任何其他内容。

【问题讨论】:

  • 如果你使用 Emacs-24.4,你的 add-hook 应该会有预期的效果(甚至可能已经 24.3,不记得我是什么时候做出那个改变的)。
  • 我必须更改了我的.emacs 中放置add-hook 的位置,因为现在它确实可以与Emacs-24.3 一起使用。感谢@Stefan 的确认。

标签: emacs emacs-speedbar


【解决方案1】:

你可以使用speedbar-before-popup-hook钩子来实现你想要的:

(add-hook 'speedbar-before-popup-hook (lambda () (linum-mode -1)))

不过,我不确定为什么通用模式挂钩不起作用。

【讨论】:

  • 模式挂钩不起作用的原因是stackoverflow.com/questions/6837511/…
  • 感谢您的指点。由于 speedbar 定义了钩子,我会说 speedbar 代码是误导而不是说 buggy。
  • 我接受它作为 Emacs speedbar-mode-hook 毕竟似乎工作正常。
猜你喜欢
  • 2011-04-21
  • 1970-01-01
  • 2022-12-05
  • 2018-06-28
  • 2012-03-07
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
  • 1970-01-01
相关资源
最近更新 更多