我正在尝试调整occur-mode
缓冲区窗口的大小以适应其缓冲区的内容。
有关详细信息,请参阅Resize occur window in Emacs。
我添加了以下钩子:
(add-hook 'occur-mode-hook
(lambda ()
(save-selected-window
(pop-to-buffer "*Occur*")
(message-box "ok")
(fit-window-to-buffer nil 10))))
然后我有以下缓冲区窗口:
我现在执行(occur "test")
,它首先给我
按下“确定”按钮后我得到了
请注意,发生的窗口已缩小为帧底部的单行高度。这显然不是我想要的......
我现在再次在“t.txt”缓冲区中输入(occur "test")
,按“确定”到消息框后,我得到以下内容:
所以现在它突然完美无缺。为什么这不是第一次工作?
答案 0 :(得分:2)
这有效:
(defadvice occur (after occur-advice activate)
"Resize window."
(save-selected-window
(pop-to-buffer "*Occur*")
(fit-window-to-buffer nil 10)))
答案 1 :(得分:0)
IIUC,重要的一部分是在fit-window-to-buffer
内保持对save-selected-window
的号召。