BufLeave
được kích hoạt khi bạn chuyển đến bộ đệm khác. Không <C-z>
cũng không chuyển sang một tab Terminal.app khác sẽ kích hoạt điều này vì bạn đang sử dụng CLI Vim mà không quan tâm gì đến GUI hoặc môi trường của trình mô phỏng thiết bị đầu cuối và… bạn không rời khỏi bộ đệm của mình.
Điều này cũng đúng cho FocusLost
(nhiều hoặc ít hơn, tài liệu nói rằng đó là GUI chỉ nhưng có thể hoạt động ở một số thiết bị đầu cuối mà không cần biết cái nào).
Vì vậy, các cài đặt này có thể sẽ hoạt động trong MacVim nhưng chắc chắn không có trong CLI Vim.
Thực tế, vì Vim không biết các thẻ trình mô phỏng thiết bị đầu cuối của bạn hoặc về nó được đặt trong nền, tôi nghi ngờ bạn có thể đạt được mục tiêu của bạn trong CLI Vim.
Tôi tình cờ có autocmd FocusLost * :wa
trong số ~/.vimrc
nhưng tôi đã đặt nó trong một điều kiện if has("gui_running")
có điều kiện và cũng inoremap <Esc> <Esc>:w<CR>
để lưu trên ESC. Hy vọng nó giúp.
Đã thêm plugin tôi tìm thấy, có vẻ sạch hơn cấu hình/hacks thủ công và thực hiện công việc – bakkal
có thể trùng lặp [Làm cách nào để tạo tệp Vim autosave khi mất tiêu điểm?] (Http://stackoverflow.com/questions/4637575/how-can-i-make-vim-autosave-files-khi-nó-mất-tập trung) –
: au BufHidden *: wa –