如何创建任意Emacs缓冲区;隐藏的;?

如何创建任意Emacs缓冲区;隐藏的;?,emacs,Emacs,几个emacs扩展创建“垃圾”缓冲区,我必须手动将它们从各种缓冲区列表中删除 Emacs有一个“隐藏缓冲区”的概念,例如用于小型缓冲区 如何将任意缓冲区设置为隐藏缓冲区?Emacs确实有一个无趣/隐藏缓冲区的概念,并通过使其名称以空格开头来指定它们。有关详细信息,请参阅文档。通过更改缓冲区的名称以空格开头,可以使缓冲区变得“无趣” 尝试M-x使缓冲区无趣: 如果您启用ido(您应该启用,因为我不知道为什么您会在没有它的情况下使用emacs),那么您可以使用ido ignore buffers列表

几个emacs扩展创建“垃圾”缓冲区,我必须手动将它们从各种缓冲区列表中删除

Emacs有一个“隐藏缓冲区”的概念,例如用于小型缓冲区


如何将任意缓冲区设置为隐藏缓冲区?

Emacs确实有一个无趣/隐藏缓冲区的概念,并通过使其名称以空格开头来指定它们。有关详细信息,请参阅文档。通过更改缓冲区的名称以空格开头,可以使缓冲区变得“无趣”

尝试M-x使缓冲区无趣:


如果您启用
ido
(您应该启用,因为我不知道为什么您会在没有它的情况下使用emacs),那么您可以使用
ido ignore buffers
列表来配置忽略哪些缓冲区,该列表是正则表达式为正常缓冲区切换指定要忽略的缓冲区的列表。(真的,如果你还没有使用ido的话,你应该使用ido)。

@Ahmed问得对,只是写得很差。@Trey Jackson为什么?我认为这很清楚,你不知道什么是垃圾缓冲区,以及为什么你需要/想从列表中删除它们。换句话说,你描述一个问题(没有太多细节),然后提出一个解决方案,并询问如何实施该解决方案。这就是为什么我认为它写得不好——你有两个问题。1) 要解决您想要解决的问题,2)如何隐藏任意缓冲区。@TreyJackson:我认为有理由假设sabof知道要隐藏哪些缓冲区,尽管他应该指定是否要按名称引用它们。。。或者使用某种触发器或钩子来确定他想自动隐藏哪一个。@Arafangion显然他知道要删除哪些缓冲区,他手动删除它们。关键是这里有两个问题,使缓冲区“隐藏”可能无法解决他的第一个问题。一个问题:如果你像这样重命名缓冲区,原始扩展如何知道你更改了它。或者,等价地,是否有一些简单的方法可以隐藏缓冲区而不混淆使用它的扩展?大概它会在某个地方保留对缓冲区对象的引用,并且会以这种方式找到它。由于如果打开第二个缓冲区,名称会发生变化,而该缓冲区的名称会相同,因此这种做法应该非常简单common@Tikhon-这就是为什么我说这个问题写得很糟糕,如果他们按名称查找缓冲区,这个例程可能会破坏扩展(不管它们是什么)。如果他们通过值跟踪缓冲区,他们就可以了b/c只是名称改变了。。。
(defun make-buffer-uninteresting ()
  "rename the current buffer to begin with a space"
  (interactive)
  (unless (string-match-p "^ " (buffer-name))
    (rename-buffer (concat " " (buffer-name)))))