配置 emacs 多次出现以搜索特定缓冲区

Posted

技术标签:

【中文标题】配置 emacs 多次出现以搜索特定缓冲区【英文标题】:configuring emacs multi-occur to search specific buffer 【发布时间】:2016-07-20 20:29:43 【问题描述】:

我想将 emacs 多次出现命令绑定到一个键,以便它搜索特定的命名缓冲区,例如 编译。我该如何在我的 .emacs 中解决这个问题?

我可以的

(global-set-key "\C-ho" '多次出现)

但这需要输入缓冲区名称进行搜索。我只想能够按一个键,输入搜索文本,它只在预定义的缓冲区中查找。

我是一个 emacs 无知者,因此感谢所有帮助。

【问题讨论】:

【参考方案1】:
(defun my-occur-in-compilation (regexp &optional nlines)
  "Show all lines matching REGEXP in the *compilation* buffer."
  (interactive (occur-read-primary-args))
  (multi-occur (list (get-buffer "*compilation*")) regexp nlines))

(global-set-key "\C-ho" 'my-occur-in-compilation)

【讨论】:

【参考方案2】:

如果您只搜索一个缓冲区,则不需要multi-occur。只需使用occur

(defun compile-occur ()
  (interactive)
  (with-current-buffer (get-buffer "*compilation*")
    (call-interactively 'occur)))

【讨论】:

以上是关于配置 emacs 多次出现以搜索特定缓冲区的主要内容,如果未能解决你的问题,请参考以下文章

Emacs:设置特定窗口的背景颜色

emacs 列表缓冲区行为

如何突出显示 Emacs 缓冲区中所有出现的单词?

如何模块化 emacs 配置?

分析行为不端的 Emacs Lisp 的提示?

保存时显示Flycheck缓冲区(有错误)