相关疑难解决方法(0)

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

当我们失去焦点时,我已经习惯了我的编辑器自动保存文件.我最近切换到MacVim,我无法重现这种行为.我试过这个:

autocmd BufLeave,FocusLost * wall
Run Code Online (Sandbox Code Playgroud)

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

Error detected while processing BufLeave Auto commands for "*":
E141: No file name for buffer 1
Run Code Online (Sandbox Code Playgroud)

我很困惑,因为:wall文件说:

Write all changed buffers.  Buffers without a file
name or which are readonly are not written.
Run Code Online (Sandbox Code Playgroud)

所以我希望它能够跳过未命名的缓冲区.有一个更好的方法吗?

编辑:

我很确定通过使用更好的方式来实现我的预期BufLeave- 当我在它们之间切换时保存缓冲区,所以我没有得到"自上次更改后没有写入" - 是设置'autowriteall'.当MacVim失去对其他应用程序的关注时,问题仍然存在(FocusLost).

vim

31
推荐指数
1
解决办法
5521
查看次数

标签 统计

vim ×1