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


当前回答

这样如何:

ctrl-w o

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

其他回答

这是一个老问题,但它帮助我为我的项目获得了一些想法。为了关闭除当前使用的缓冲区外的所有缓冲区,请使用;

map <leader>o:execute "%bd\|e#"<CR>

有一个插件可以做到这一点,甚至更多!

查看close-buffers.vim

我喜欢1100bd (juananruiz建议),这似乎对我有用。

我添加了一个退出!我的地图给我

nnoremap <leader>bd :1,100bd<CR>
nnoremap <leader>bdq :1,100bd<CR>:q!<CR>

这会杀死所有缓冲区并关闭Vim,这正是我最想要的。

基于juanruiz的回答。

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

: 1、1000双相障碍

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

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

这样如何:

ctrl-w o

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