微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当焦点从窗口丢失时,如何在Vim 7中自动保存?

我在我的. vimrc中尝试了以下内容

:au FocusLost * silent! wa
autocmd BufLeave,FocusLost silent! wall

并尝试过:

How can I make Vim autosave files when it loses focus?

但无法让它工作,当我执行Ctrl Z或切换到终端(mac)中的另一个选项卡时,它仍然不会自动保存.

解决方法

当你去另一个缓冲区时会触发BufLeave.两者都不是< C-z>也没有切换到另一个Terminal.app选项卡会触发这个,因为你使用的是CLI Vim,它根本不关心终端模拟器的GUI或环境……你没有离开你的缓冲区.

对于FocusLost也是如此(或多或少,文档说它只是GUI,但可以在某些终端工作而不知道哪一个).

因此,这些设置可能适用于MacVim,但绝对不适用于CLI Vim.

实际上,由于Vim不知道您的终端模拟器选项卡或者它是否在后台,我怀疑您可以在CLI Vim中实现您的目标.

我碰巧autocmd FocusLost *:在我的〜/ .vimrc中使用了wa但是我把它放在if has(“gui_running”)条件和inoremap< Esc>中< ESC>:W< CR>节省ESC.希望能帮助到你.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐