是否可以在 vim 中即时设置 BufLeave autocmd?

is it possible to set BufLeave autocmd in vim on the fly?

我想做的事情:

在vim中的一个file/buffer里面,尤其是一个没有命名的(比如用:enew创建的),有时候我觉得我写的内容值得保存(比如说,我突然想通过电子邮件发送),但不觉得有必要将其保存到临时文件中,我也不相信自己 "remember" 在退出时保存它。

所以我想,如果我 运行

autocmd BufLeave * ggvG"+y

在 vim 命令行中一次,不用担心丢失此内容。

但是没用。当我退出时vim,系统剪贴板提示完好

我的问题:

非常感谢!

两个问题:

1) 你没有离开缓冲区去另一个缓冲区(BufLeave);你离开了 Vim (VimLeave).

2) autocmd 需要一个命令,而不是正常模式下的击键。

考虑到这一点,

autocmd VimLeave * normal gg"+yG