如何从 vim 中的跳转列表中删除缓冲区

How to remove buffer from jumplist in vim

如何删除缓冲区并将其从跳转列表中删除?这样下次我点击 <CTRL-o><CTRL-i> 时它就不会再打开了。

为此,您应该使用 vim

提供的内置命令之一

:bdelete 仅关闭缓冲区并用跳转列表中它旁边的缓冲区替换它,除非有尚未保存的更改,如果要删除缓冲区并丢弃更改 :bdelete! 是应该使用的。

:bdelete[!] 的问题是只有缓冲区会被删除,但与它相关的所有其他内容都会保留在那里,就像它在 jumplit 中的位置以及在其上注册的标记等等.

所以我发现第二个非常强大的命令是 :bwipeout[!],它将完全删除缓冲区以及与之相关的所有元数据。

使用这两个命令,您可以指定计数器和范围,例如:

to delete all buffers use :%bd[elete][!]

to delete all buffers from buffer number 4 to the last one use :4,$bdelete[!] and so on.

:bwipeout[!]

也是如此