我希望remap :q
为:bd
因为我真的不希望缓冲区在长时间运行的vim
会话中保持不变(它可以容纳.swp
文件与同一文件的另一个vim
会话冲突。)
唯一的问题是:bd
如果它是剩下的最后一个缓冲区,则不会退出vim
。我怎样才能做到这一点?
答案 0 :(得分:1)
这样的事情应该有效:
fun! s:quitiflast()
bdelete
let bufcnt = len(filter(range(1, bufnr('$')), 'buflisted(v:val)'))
if bufcnt < 2
echo 'shutting everything down'
quit
endif
endfun
command! Bd :call s:quitiflast()
cmap q Bd