我已经习惯Ctrl-Shift-T
在 Firefox 中撤消关闭标签的操作,在 Vim 中是否可以实现类似的功能?谷歌搜索没有为我提供任何有用的信息。
答案1
我不知道现有的解决方案,但将已删除缓冲区的名称保存在变量中BufDelete
并定义使用该变量的简单映射似乎相对容易。让我们看看...
autocmd BufDelete * let g:latest_deleted_buffer = expand("<afile>:p")
nnoremap <F6> :e <C-R>=fnameescape(g:latest_deleted_buffer)<CR><CR>
答案2
需要澄清的是,:bdelete
在 VIM 中用于删除缓冲区(缓冲区删除)。我不知道有什么方法可以“撤消”它,但是,也许以下内容会对您有所帮助:
我的桌面上有一个名为test.rtf
如果我在终端中使用以下命令:vim test.rtf
然后输入::bdelete
+ Enter
- 它会打开一个空白屏幕,您可以输入内容。如果您输入::q
然后Enter
退出,则不会保存任何更改,因此您实际上是在撤消错误。
我希望这能有所帮助。