例如,我在Vim中通过运行打开几个文件

vim a/*.php

打开23个文件。

然后我进行编辑并运行以下两次

:q

这就关闭了所有的缓冲区。

如何在Vim中只关闭一个缓冲区?


当前回答

如何

vim -O a a

这样你就可以在左边编辑一个文件,在右边浏览整个目录…… 只是一个想法,不是解决方案……

其他回答

如果前面的答案没有说明这一点:

:bd将关闭当前缓冲区。如果你不想获取缓冲列表。

检查缓冲区id使用 :缓冲区

你会看到一个缓冲区列表

1  a.php
2  b.php
3  c.php

如果你想从buffer中删除b.php

:2bw

如果你想从缓冲区中删除/关闭所有

:1,3bw

您还可以将next和previous映射到功能键,从而使在缓冲区中的循环变得轻而易举

map <F2> :bprevious<CR>
map <F3> :bnext<CR>

从我的vimrc

如何

vim -O a a

这样你就可以在左边编辑一个文件,在右边浏览整个目录…… 只是一个想法,不是解决方案……

提醒一句:“bw中的w并不代表write,而是代表wipeout!”

更多手册:

:bd

卸载缓冲区[N](默认值:当前 Buffer)并将其删除 缓冲列表。如果缓冲区被更改,则失败, 除非当[!],在这种情况下更改 丢失。 该文件不受影响。

如果你知道你在做什么,你也可以使用:bw

:bw

比如|:bdelete|,但是真正删除的是 缓冲区。