gpt4 book ai didi

vim - 如何让 Vim 在失去焦点时自动保存文件?

转载 作者:行者123 更新时间:2023-12-02 05:52:01 29 4
gpt4 key购买 nike

我习惯了编辑器在失去焦点时自动保存文件。我最近切换到 MacVim,但无法重现该行为。我试过这个:

autocmd BufLeave,FocusLost * wall

但是如果当窗口或 MacVim 失去焦点时缓冲区未命名,我会收到如下错误:

Error detected while processing BufLeave Auto commands for "*":
E141: No file name for buffer 1

我很困惑,因为 :wall 的文档说:

Write all changed buffers.  Buffers without a file
name or which are readonly are not written.

所以我希望它跳过未命名的缓冲区。有更好的方法吗?

编辑:

我很确定使用 BufLeave 来实现我的目的是更好的方法 - 当我在缓冲区之间切换时保存缓冲区,这样我就不会得到“自上次更改后没有写入” -- 是设置'autowriteall'。当 MacVim 失去焦点到其他应用程序时(FocusLost),这个问题仍然存在。

最佳答案

您不关心这些情况下的错误,因为无论如何您都无法合理地对它们采取任何措施 - 尤其是在失去焦点时。所以就把它们吞下去吧:

autocmd BufLeave,FocusLost * silent! wall

比精心设计的舞蹈要简单得多,找出可能哪里会出现错误以避免错误。

关于vim - 如何让 Vim 在失去焦点时自动保存文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4637575/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com