如何从vim中的jumplist中删除缓冲区

如何从vim中的jumplist中删除缓冲区,vim,buffer,Vim,Buffer,如何删除缓冲区并将其从跳转列表中删除?这样下次我点击或时,它就不会再打开它了。为此,您应该使用vim提供的一个内置命令 :b删除,如果要删除缓冲区并放弃更改,则仅关闭缓冲区并在跳转列表中将其替换为其旁边的缓冲区,除非有未保存的更改。:b删除是应该使用的 :b删除[!]的问题是,只有缓冲区会被删除,但与之相关的所有其他内容都会保留在那里,比如它在jumplit中的位置以及在其上注册的标记等等 因此,我发现非常强大的第二个命令是:bwipeout[!],它将完全删除缓冲区以及与之相关的所有元数据 使

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

为此,您应该使用vim提供的一个内置命令

:b删除
,如果要删除缓冲区并放弃更改,则仅关闭缓冲区并在跳转列表中将其替换为其旁边的缓冲区,除非有未保存的更改。
:b删除是应该使用的

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

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

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

要删除所有缓冲区,请使用
:%bd[elete][!]

要删除从缓冲区编号4到最后一个缓冲区的所有缓冲区,请使用
:4、$b删除[!]


:bwipeout[!]

如果由于脚本将不希望的跳转添加到跳转列表而出现此问题,请在命令之前使用
keepjumps
,如中所述。