当焦点从窗口丢失时,如何在Vim 7中自动保存?
我在我的当焦点从窗口丢失时,如何在Vim 7中自动保存?,vim,Vim,我在我的.vimrc中尝试了以下操作: :au FocusLost * silent! wa autocmd BufLeave,FocusLost silent! wall 并尝试: 但无法使其工作,当我按Ctrl+Z键或切换到终端(mac)中的另一个选项卡时,它仍然不会自动保存。当您转到另一个缓冲区时,会触发buflive。无论是还是切换到另一个Terminal.app选项卡都不会触发此问题,因为您使用的是CLI Vim,它根本不关心终端仿真器的GUI或环境,而且……您没有离开缓冲区 这同
.vimrc
中尝试了以下操作:
:au FocusLost * silent! wa
autocmd BufLeave,FocusLost silent! wall
并尝试:
但无法使其工作,当我按Ctrl+Z键或切换到终端(mac)中的另一个选项卡时,它仍然不会自动保存。
当您转到另一个缓冲区时,会触发buflive
。无论是
还是切换到另一个Terminal.app选项卡都不会触发此问题,因为您使用的是CLI Vim,它根本不关心终端仿真器的GUI或环境,而且……您没有离开缓冲区
这同样适用于FocusLost
(文档或多或少地说,它只是GUI,但可以在某些终端上工作,而不知道是哪个终端)
因此,这些设置可能在MacVim中起作用,但在CLI Vim中肯定不起作用
事实上,由于Vim不知道终端仿真器的选项卡,也不知道它被放在后台,所以我怀疑您能否在CLI Vim中实现目标
我碰巧在我的
~/.vimrc
中有autocmd FocusLost*:wa
,但我将它放在中,如果有(“gui_running”)
条件,并且inoremap:w
在ESC上保存。希望有帮助。在OS X和Vim CLI上,我使用这个插件
自动保存-自动将更改保存到磁盘,而无需使用:w
(或对它的任何绑定)每次修改缓冲区时。
默认情况下禁用自动保存,请运行:AutoSaveToggle
以启用/禁用
自动保存。如果您希望插件始终处于启用状态,可以使用
g:auto_save
选项(将'let g:auto_save=1'
放在.vimrc
中)
inoremap:w
太棒了。谢谢@romainl@adarsh,autocmd InsertLeave*如果展开('%')!=''update | endif
好得多。@romainl,那太棒了!它确实省略了诸如“x”或“dd”之类的内容。对于这些类型的命令,您可以使用什么?事实上,可能就是这样。好吧,没关系,也有凹痕。我猜你必须在每个命令上都保存,但这似乎有点过头了。否?添加了一个我发现的插件,似乎比手动配置/破解更干净,并且该工作是否可能重复:au BufHidden*:wat此插件似乎是一个更新的版本: