如果在删除当前缓冲区后,缓冲区列表为空(即,如果在执行or之前,我在缓冲区列表中只有当前缓冲区),我想:bd并:bw实际退出我的 vim 会话。我怎样才能做到这一点?我认为它应该很容易,但是谷歌搜索并没有真正产生任何有用的东西,到目前为止我还没有设法编写一个来完成这个。:bd:bwautocmd
要检查单个缓冲区,您需要遍历所有潜在的缓冲区并检查它们是否仍被列出(例如在 中:ls)。每当删除缓冲区时都会触发检查:
:autocmd BufDelete * if len(filter(range(1, bufnr('$')), '! empty(bufname(v:val)) && buflisted(v:val)')) == 1 | quit | endif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1206 次 |
| 最近记录: |