3
我想用一个快捷方式(,q
)到删除缓存,我不需要,但我想使用相同的快捷方式退出vim当前缓冲区是列出的唯一缓冲区。VIM:`:中q`代替`:bdelete`当只有一个缓冲上市
我目前使用此功能:
function! MyClose()
" :q if at most one buffer is loaded
" :bdelete otherwise
let bufcount = len(filter(range(1,bufnr('$')), 'buflisted(v:val)==1'))
if bufcount < 2
exe ":q"
else
exe ":bdelete"
endif
endfunction
然后
nnoremap <leader>q :call MyClose()<cr>
但我觉得我不这样做是正确的。
- 有没有更好的方法来统计列出的缓冲区?
- 有没有更好的方法来实现这个功能?