シェル ウィンドウがフォーカスを失ったときに変更されたファイルを保存するように 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/