我怎么能关闭所有缓冲区在Vim除了一个我目前正在编辑?


当前回答

nnoremap <leader>x :execute '%bdelete\|edit #\|normal `"'\|bdelete#<CR>

关闭所有缓冲区(副作用创建新的空缓冲区) 打开最后一个缓冲区 跳转到缓冲区中的最后编辑位置 删除空缓冲区

其他回答

注意:正如注释中提到的,这会关闭窗口而不是缓冲区。

通过使用

:on[ly][!]

and

:h only

这样如何:

ctrl-w o

(感谢https://thoughtbot.com/blog/vim-splits-move-faster-and-more-naturally)

:%bd then Ctrl-o

:%bd删除所有缓冲区

按Ctrl-o跳转回最后一个缓冲区,即您所引用的“This One”。

基于juanruiz的回答。

然后,在想要保留的缓冲区中做一个小更改

: 1、1000双相障碍

命令bd(缓冲区删除)将不会删除任何未保存更改的缓冲区。通过这种方式,您可以将当前(已更改的)文件保存在缓冲列表中。

编辑:请注意,这也会删除你的NERDTreeBuffer。你可以用NERDTree把它找回来

我可以很容易地做到这一点,像这样:

:%bd|e#