我一直在嘗試設定 vim 的 shell 版本,以便在 shell 視窗失去焦點時保存任何更改的檔案。
下列的這些說明不起作用。
即使我使用的是 OS X,我認為這也可能會影響 Linux 上運行的 vim。可能是錯的,但我想我也可以在這裡以及 apple.stackexchange.com 上嘗試。
我可以假設這對 vim 命令列版本不起作用的原因可能是因為它僅適用於 GUI 版本,即 MacVim?
有沒有辦法讓它在 shell 版本的 vim 上運作?
我正在使用自製程式中可用的最新版本的 vim。
答案1
從:h FocusLost
:
FocusLost When Vim lost input focus. Only for the GUI version and a few console versions where this can be detected. May also happen when a dialog pops up.
*nix(包括 OS X)終端不會讓其中運行的任何應用程式知道它們的焦點狀態,因此這在那裡不起作用,而且實際上沒有辦法讓它起作用。
答案2
如果您的目標是防止遺失程式碼,也許備份檔案可以幫助您。
set backup " keep a backup after overwriting a file
set backupdir^=/tmp// " list of directories to put backup files in
我的電腦裡有它.muttrc
,它會儲存備份文件,直到重新啟動 Mac 為止/tmp/