我在屏幕上使用Vim.我运行命令
vim
我陷入困境,因为关闭每个缓冲区是没有意义的
:q
如何通过Vim中的一个命令关闭Vim中的所有活动缓冲区?
该:bufdo
命令允许您在所有缓冲区上执行命令.在这种情况下,您希望:bufdo bdelete
一次性运行以关闭所有打开的缓冲区.
:qall
或:qa
将关闭所有窗口
:%BD(elete)
我想这就是你要求的
:on
将关闭除当前正在编辑的缓冲区之外的所有缓冲区(光标位于此缓冲区内).
:on!
还将关闭修改后的缓冲区,但这些缓冲区将成为隐藏
:ls
将列出所有缓冲区及其状态(隐藏,...)
一些帮助:
:h only :h hidden-buffer :h ls
:on
不会关闭任何缓冲区.
它只关闭其他窗口.
这不是您要求的,但以下可能会产生预期的结果.它:
使当前选项卡成为唯一打开的选项卡(:tabo
)
使选项卡中的窗口成为唯一打开的窗口(:only
)
在打开的窗口中显示第一个缓冲区(1 b
)
删除编号为2到2000的缓冲区(2,2000bd
)
:tabo | :only | 1 b | 2,2000 bd
如果您打开超过2000个缓冲区,请相应地进行调整.
它只是想删除所有缓冲区,1,2000bd
应该完成这项工作,但请注意,将为所有打开的选项卡和窗口创建新的空缓冲区.
但这并不能保存缓冲区.也许:wqall!:xall!好一点.