我习惯了我的编辑器自动保存文件时,他们失去焦点。我最近切换到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)。