是否有可能在运行中在vim中设置BufLeave autocmd?

时间:2016-06-15 02:08:35

标签: vim autocmd

我想做什么:

在vim中的文件/缓冲区内,特别是未命名的文件/缓冲区(例如,使用:enew创建),有时我觉得我写的内容值得保存(比方说,我突然想通过电子邮件发送) ,但不觉得特别需要将它保存到临时文件中,我也不相信自己“记住”退出时保存它。

所以我想,如果我跑

怎么办?
autocmd BufLeave * ggvG"+y

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

但它不起作用。当我退出vim时,系统剪贴板会完整地提醒。

我的问题:

  • 如果我们在运行中autocmd而不是在vimrc中运行它会做什么?
  • 有没有办法告诉vim“嘿,当你退出时,运行这些”?

非常感谢!

1 个答案:

答案 0 :(得分:2)

两个问题:

1)你没有让缓冲区转到另一个缓冲区(BufLeave);你离开了Vim(VimLeave)。

2)autocmd需要一个命令,而不是普通模式击键。

考虑到这一点,

autocmd VimLeave * normal gg"+yG