是否有可能在 Vim 中撤消 :bdelete?

是否有可能在 Vim 中撤消 :bdelete?

我已经习惯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退出,则不会保存任何更改,因此您实际上是在撤消错误。

我希望这能有所帮助。

相关内容