BufLeave
se activa cuando va a otro búfer. Ni <C-z>
ni cambiar a otra pestaña Terminal.app activará esto porque está utilizando CLI Vim, que no le importa en absoluto la GUI o entorno del emulador de terminal y ... no está saliendo de su búfer.
Lo mismo ocurre con FocusLost
(más o menos, el documento dice que es solo GUI pero puede funcionar en algunos terminales sin indicar cuál).
Por lo tanto, estas configuraciones probablemente funcionarán en MacVim pero definitivamente no en CLI Vim.
En realidad, dado que Vim no tiene conocimiento de las pestañas de su emulador de terminal ni de que se pongan en segundo plano, dudo que pueda lograr su objetivo en CLI Vim.
Resulta que tengo en mi autocmd FocusLost * :wa
~/.vimrc
pero lo he puesto en un if has("gui_running")
condicional y también inoremap <Esc> <Esc>:w<CR>
para ahorrar en ESC. Espero eso ayude.
Añadido un plugin que encontré, parece más limpio que manuales configs/hacks y hace el trabajo – bakkal
posible duplicado de [¿Cómo puedo hacer que los archivos de guardado automático Vim cuando se pierde el foco?] (Http://stackoverflow.com/questions/4637575/how-can-i-make-vim-autosave-files-when-it-loses-focus) –
: au BufHidden *: wa –