1

我想做的事:

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

所以我想,如果我跑怎么办

autocmd BufLeave * ggvG"+y

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

但它不起作用。当我退出 vim 时,系统剪贴板提示完好。

我的问题:

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

万分感谢!

4

1 回答 1

2

两个问题:

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

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

考虑到这一点,

autocmd VimLeave * normal gg"+yG
于 2016-06-15T02:20:49.417 回答