我习惯了我的编辑器自动保存文件时,他们失去焦点。我最近切换到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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。