1

在 Emacs 中,我使用一个叫做buffer-stack查看和浏览我的打开缓冲区的东西,如果我不知道我想去哪个缓冲区,但我只想直观地查看打开的缓冲区(实际内容,而不是文件名) . 我有一个键绑定 forbuffer-stack-up和另一个 for buffer-stack-down,它允许我在它们之间左右滚动。

我想从这种行为中排除某些类型的缓冲区。我已经可以通过在名为 的变量中指定完整的缓冲区名称来排除特定的缓冲区buffer-stack-untracked,例如我可以标记*Messages*为未跟踪。

如何使用 REGEXP 将某些缓冲区指定为未跟踪?例如,我想排除包含 REGEXPHelp或的缓冲区.html,即使我无法预测整个文件名。

我该怎么做呢?如果使用 无法做到这一点buffer-stack,那么什么包会给我我想要的行为?

4

1 回答 1

2

我相信这将是一个很好的起点。

(defun buffer-stack-filter-regexp (buffer)
  "Non-nil if buffer is in buffer-stack-tracked."
  (not (or (string-match "Help\\|html" (buffer-name buffer))
           (member buffer buffer-stack-untracked))))
(setq buffer-stack-filter 'buffer-stack-filter-regexp)
于 2013-03-07T09:53:59.137 回答