我在Screen中使用Vim。我运行以下命令:
vim <bigFolder>
我卡住了,因为逐个关闭每个缓冲区没有意义。
:q
如何在Vim中通过一个命令关闭所有活动的缓冲区?
我在Screen中使用Vim。我运行以下命令:
vim <bigFolder>
我卡住了,因为逐个关闭每个缓冲区没有意义。
:q
如何在Vim中通过一个命令关闭所有活动的缓冲区?
:bufdo
命令允许您对所有缓冲区执行命令。在这种情况下,您希望运行 :bufdo bdelete
以一次性关闭所有打开的缓冲区。
:qall
或 :qa
命令将关闭所有窗口。
:%bd(删除)
我认为这就是你要求的内容。
:bd
可以吗? - Alexej Magura:on
关闭除当前正在编辑的缓冲区以外的所有缓冲区(光标在此缓冲区内)。
:on!
这也会关闭修改过的缓冲区,但它们将变成隐藏的缓冲区。
:ls
will列出所有缓冲区及其状态(隐藏,...)。
一些帮助:
: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
应该可以完成任务,但请注意,所有打开的标签和窗口将创建新的空缓冲区。
如果你的VIM卡住了,你仍然可以从VIM外部把它杀掉。
kill %vim
来杀死它。ps
找到它的pid,然后将其杀死:$ ps -f -C vim
UID PID PPID C STIME TTY TIME CMD
nfellman 27273 7473 0 Jun24 pts/15 00:00:00 /nfs/iil/home/nfellman/vim/bin/vim a.pl
nfellman 37213 23747 0 Jun23 pts/15 00:00:00 /nfs/iil/home/nfellman/vim/bin/vim b.pl
如果我想结束正在编辑a.pl
的 VIM,可以执行以下命令:
kill -9 27273
这应该可以在屏幕内正常工作
:q!
对我总是有效。