lastbuf.vim 撤销最后关闭的buffer
这是之前的一篇文章 vim:撤销最后关闭的buffer 的后续。
因为依云同学表示那个小脚本还有很大提升空间,
于是我就把它改成了小插件并上传到了vim.org 和github.com
https://github.com/Rykka/lastbuf.vim
功能:
重新打开最后关闭的buffer
:hid 所关闭的buffer始终可以重新打开
:e # :only :q :close :bun :bd 所关闭的buffer默认可以重新打开
:bd 所关闭的buffer默认不会重新打开
:bw 所关闭的buffer 始终不会打开
NOTE: 关闭的buffer如果仍有窗口在编辑,将不会重新打开。
基本命令:
:LastBuf 或 <c-w><c-z>
打开刚才关闭的buffer。
可以用 map <c-s-t> :LastBuf<CR> 来重新mapping
设置:
全局变量 g:lastbuf_num ,最大撤销数量
let g:lastbuf_num=20
全局变量 g:lastbuf_seekall,是否始终打开unloaded buffer。
如果不需要打开unloaded buffer。将其设成0并 set nohidden
let g:lastbuf_seekall=1
全局变量 g:lastbuf_level,决定重新打开buffer的层级。
" :hid bufhidden (始终会重新打开)
" :bun bufunload (重新打开如果 level >= 1)
" :bd bufdelete (重新打开如果 level >= 2)
" :bw bufwipeout (绝对不会重新打开!)
" 默认为 1 .即:bd 和:bw关闭的不会重新打开
" 如果想要和 'nohidden'一样的效果
" 设为 0 并且 set nohidden
let g:lastbuf_level=1