Vim でフォーカスを失ったときにファイルを保存する

Vim でフォーカスを失ったときにファイルを保存する

シェル ウィンドウがフォーカスを失ったときに変更されたファイルを保存するように vim のシェル バージョンを設定しようとしています。

続くこれら指示が機能しません。

私は OS X を使用していますが、これは Linux で実行されている vim にも影響する可能性があると思います。間違っているかもしれませんが、apple.stackexchange.com だけでなく、ここでも試してみようと思いました。

これが vim のコマンドライン バージョンで動作しない理由は、GUI バージョン、つまり MacVim でのみ動作するように設計されているからではないでしょうか。

これを vim のシェルバージョンで動作させる方法はありますか?

私はhomebrewで利用できる最新バージョンの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

私はこれをMacにインストールしています.muttrc。Macを再起動するまでバックアップファイルを保存します。/tmp/

関連情報