是否有一种简单的方法(通过defadvice或其他方式)来改变缓冲区的焦点行为,例如help,grep,是否会发生?特别是,我想修改M-x occur
的行为,直接将我带到* Occur *缓冲区。某些模式(例如ESS)对这种“临时”缓冲区的显示提供了更细粒度的控制,但是对于没有提供这种控制的缓冲区是否有一般策略?
答案 0 :(得分:3)
(add-hook 'occur-hook (lambda () (pop-to-buffer occur-buf)))
(add-hook 'help-mode-hook (lambda () (pop-to-buffer (get-buffer "*Help*"))))
(add-hook 'grep-mode-hook (lambda () (pop-to-buffer (get-buffer "*grep*"))))
作为替代方案,一般方法是使用special-display-regexps
或special-display-buffer-names
来生成此类缓冲区special-display
,将它们放在一个单独的框架中(并选择它)。 E.g:
(setq special-display-regexps '("[ ]?[*][^*]+[*]"))