我正在尝试调整 occurr-mode
缓冲区窗口的大小以适应其缓冲区的内容。
参见Resize occur window in Emacs了解更多信息。
我添加了以下钩子(Hook):
(add-hook 'occur-mode-hook
(lambda ()
(save-selected-window
(pop-to-buffer "*Occur*")
(message-box "ok")
(fit-window-to-buffer nil 10))))
然后我有以下缓冲窗口:
我现在执行(occurr "test")
,这给了我第一个
按下“确定”按钮后,我得到
请注意,出现的窗口的高度已缩小到框架底部的一行。这显然不是我想要的..
我现在在“t.txt”缓冲区中再次输入(occurr "test")
,在消息框中按“ok”后,我得到以下内容:
所以现在它突然完美了。为什么第一次不起作用?
最佳答案
这有效:
(defadvice occur (after occur-advice activate)
"Resize window."
(save-selected-window
(pop-to-buffer "*Occur*")
(fit-window-to-buffer nil 10)))
关于emacs - Emacs 中发生模式 Hook 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20919308/