BufLeave
jest wyzwalane, gdy przejdziesz do innego bufora. Ani <C-z>
, ani przejście na inną kartę Terminal.app wyzwolą to, ponieważ używasz CLI Vim, który nie dba o grafikę GUI lub środowisko emulatora terminala i ... nie opuszczasz swojego bufora.
To samo dotyczy FocusLost
(mniej więcej, doc mówi, że jest to tylko GUI, ale może działać w niektórych terminalach bez informowania, który z nich).
Ustawienia te prawdopodobnie będą działać na MacVim, ale zdecydowanie nie w CLI Vim.
Właściwie, ponieważ Vim nie ma informacji o kartach emulatora terminala ani o tym, że jest on umieszczony w tle, wątpię, byś mógł osiągnąć swój cel w CLI Vim.
zdarza mi się mieć autocmd FocusLost * :wa
w moim ~/.vimrc
ale umieściłem go w if has("gui_running")
warunkowy, a także inoremap <Esc> <Esc>:w<CR>
zaoszczędzić na ESC. Mam nadzieję, że to pomoże.
Dodano wtyczki znalazłem wydaje czystsze niż ręcznych configs/hacki i spełnia swoje zadanie – bakkal
możliwy duplikat [Jak mogę Vim automatyczny zapis plików gdy traci fokus?] (Http://stackoverflow.com/questions/4637575/how-can-i-make-vim-autosave-files-when-it-loses-focus) –
: au BufUkryte *: wa –