在Emacs中,我使用一个名为buffer-stack
的东西来查看和浏览我的开放缓冲区,如果我不知道我想要什么缓冲区,这很有用,但我只是想直观地看到开放缓冲区(实际内容,而不是文件名)。我有buffer-stack-up
的一个键绑定和buffer-stack-down
的另一个键绑定,这允许我在它们之间向左和向右滚动。
我想从这种行为中排除某些类型的缓冲区。我已经可以通过在名为buffer-stack-untracked
的变量中指定完整的缓冲区名称来排除特定缓冲区,例如我可以将*Messages*
标记为未跟踪。
如何使用REGEXP将某些缓冲区指定为未跟踪?例如,我想排除包含REGEXP Help
或.html
的缓冲区,即使我无法预测整个文件名。
我该怎么做?如果使用buffer-stack
无法做到这一点,那么什么包会给我我想要的行为?
答案 0 :(得分: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)