如何使Vim在失去焦点时自动保存文件?
发布时间:2020-12-15 09:14:00 所属栏目:安全 来源:网络整理
导读:我习惯了我的编辑器自动保存文件时,他们失去焦点。我最近切换到MacVim,我不能重现这种行为。我试过这个: autocmd BufLeave,FocusLost * wall 但是如果一个缓冲区未命名时窗口或MacVim失去焦点,我得到一个错误,如下所示: Error detected while processi
我习惯了我的编辑器自动保存文件时,他们失去焦点。我最近切换到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 比一个精心制作的舞蹈更简单,弄清楚哪里会有一个错误,以避免它。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |