emacs - 如何在 Emacs 中自动切换到发生缓冲区?

标签 emacs elisp

当在正则表达式上运行 occur 时,框架分成两个窗口,occur 缓冲区如下所示。但是,键盘焦点仍在原始缓冲区中。我如何以编程方式更改此行为,以便 occur 缓冲区成为当前缓冲区?我试过这个:

(defun test-occur ()
  (interactive)
  (occur "test")
  (switch-to-buffer "*Occur*"))

但它不起作用..(即:现在 occur 缓冲区显示在顶部和底部窗口中)

最佳答案

您不必为此定义单独的函数。 只需添加一个钩子(Hook):

(add-hook 'occur-hook (lambda () (other-window 1)))

Alternatively ,并且可能更可靠:

(add-hook 'occur-hook (lambda () (switch-to-buffer-other-window "*Occur*")))

关于emacs - 如何在 Emacs 中自动切换到发生缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20903691/

相关文章:

emacs - 如何让 emacs 停止加载 viper 模式?

emacs - elisp 错误 "Wrong type argument: sequencep, t"是什么意思?

emacs lisp 和 c 模式 : when am I in a comment region

emacs - 如何在搜索/替换中预览正则表达式?

emacs - 如何突出显示emacs中的特定行?

email - 在 elisp 中发送电子邮件的最简单、最便携的方式是什么?

具有 gud-gdb 类型功能的 emacs 中的 python 调试

r - Emacs ESS 模式 TAB 停止缩进

emacs - 仅当从某个其他函数调用时才触发对函数的建议

parsing - 用 Wisent 编写解析器