我怎么能关闭所有缓冲区在Vim除了一个我目前正在编辑?
当前回答
有一个插件可以做到这一点,甚至更多!
查看close-buffers.vim
其他回答
如果你不关心当前的,更简单的做法是(不需要脚本):
1,100bd
有一个插件可以做到这一点,甚至更多!
查看close-buffers.vim
我这样做
:w | %bd | e#
如果我只想打开当前缓冲区,并关闭所有其他缓冲区,这是我的最爱。
它的工作原理:首先写入当前缓冲区的更改,然后关闭所有打开的缓冲区,然后重新打开我当前所在的缓冲区。在Vim中,|将命令的执行链接在一起。如果你的缓冲区是最新的,上面可以缩短为:%bd |e#
:%bd then Ctrl-o
:%bd删除所有缓冲区
按Ctrl-o跳转回最后一个缓冲区,即您所引用的“This One”。
nnoremap <leader>x :execute '%bdelete\|edit #\|normal `"'\|bdelete#<CR>
关闭所有缓冲区(副作用创建新的空缓冲区) 打开最后一个缓冲区 跳转到缓冲区中的最后编辑位置 删除空缓冲区