无法在Vim中通过一个命令closures多个缓冲区
我在屏幕上使用Vim。 我运行命令
vim <bigFolder>
我陷入困境,因为通过closures每个缓冲区是没有意义的
:q
如何通过Vim中的一个命令closuresVim中的所有活动缓冲区 ?
:qall
或:qa
将closures所有窗口
使用:bufdo
命令可以在所有缓冲区上执行命令。 在这种情况下,您想运行:bufdo bdelete
closures所有打开的缓冲区。
:%BD(elete)
我想这是你要求的
:on
将closures除当前正在编辑的缓冲区外的所有缓冲区(游标位于此缓冲区内)。
:on!
也将closures修改后的缓冲区,但是这些将成为隐藏缓冲区
:ls
将列出所有的缓冲区与他们的状态(隐藏,…)
一些帮助:
:h only :h hidden-buffer :h ls
:on
不会closures任何缓冲区。
它只closures其他窗口。
这不是你所要求的,但是下面可能会给出一个理想的结果。 它:
- 使当前选项卡成为唯一打开的选项卡(
:tabo
) - 使选项卡中的窗口成为唯一打开的窗口(
:only
:) - 在打开窗口(
1 b
)中显示第一缓冲区 -
删除编号为2到2000(
2,2000bd
)的缓冲区:tabo | :only | 1 b | 2,2000 bd
如果您打开了超过2000个缓冲区,请相应地进行调整。
它只是想删除所有的缓冲区, 1,2000bd
应该做的工作,但请注意新的,空的缓冲区将被创build为所有打开的标签和窗口。
这不会保存缓冲区。 也许:wqall! :xall! 好一点
如果您碰巧遇到VIM完全卡住,您应该仍然能够从VIM外部杀死它。
- 如果你能够用CTRL + Z暂停VIM,那么你可以用
kill %vim
来杀死它 - 如果你不能挂起VIM你应该可以使用
ps
find它的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!
总是为我工作。