我想做什么:
在 vim 中的文件/缓冲区中,尤其是未命名的文件/缓冲区(例如,使用 :enew 创建),有时我觉得我正在编写的内容值得保存(例如,我突然想通过电子邮件发送它),但并不觉得特别需要将其保存到临时文件中,我也不相信自己足够"记住"在退出时保存它。
所以我想,如果我跑了怎么办
autocmd BufLeave * ggvG"+y
在 vim 命令行中一次,就不必担心丢失此内容。
但它不起作用。当我退出 vim 时,系统剪贴板会完好无损地提醒。
我的问题:
- 如果我们在飞行中运行
autocmd
,而不是在 VIMRC 中,它会有什么作用吗? - 有没有办法告诉 Vim "嘿,当你退出时,运行这些"?
谢谢吨!
两个问题:
1)您没有离开缓冲区去另一个缓冲区(BufLeave
);你离开了维姆(VimLeave
)。
2)autocmd
需要命令,而不是正常模式的击键。
考虑到这一点,
autocmd VimLeave * normal gg"+yG