Speichern von Dateien bei Fokusverlust in Vim

Speichern von Dateien bei Fokusverlust in Vim

Ich habe versucht, die Shell-Version von Vim so einzurichten, dass alle geänderten Dateien gespeichert werden, wenn das Shell-Fenster den Fokus verliert.

GefolgtdieseAnleitung funktioniert nicht.

Obwohl ich OS X verwende, vermute ich, dass dies auch Auswirkungen auf vim unter Linux haben könnte. Könnte falsch sein, aber ich dachte, ich probiere es auch hier und auf apple.stackexchange.com.

Soll ich davon ausgehen, dass der Grund, warum dies bei einer Befehlszeilenversion von Vim nicht funktioniert, möglicherweise darin liegt, dass es nur für die Verwendung mit GUI-Versionen, also MacVim, vorgesehen ist?

Gibt es eine Möglichkeit, dies für eine Shell-Version von Vim zum Laufen zu bringen?

Ich verwende die neueste in Homebrew verfügbare Version von Vim.

Antwort1

Aus :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-Terminals (einschließlich OS X) geben ihren Fokusstatus nicht an die darauf ausgeführten Anwendungen bekannt. Daher wird dies hier nicht funktionieren und es gibt tatsächlich keine Möglichkeit, es zum Laufen zu bringen.

Antwort2

Wenn Ihr Ziel darin besteht, den Verlust von Code zu verhindern, könnten Ihnen Sicherungsdateien möglicherweise hilfreich sein.

set backup                    " keep a backup after overwriting a file
set backupdir^=/tmp//         " list of directories to put backup files in

Ich habe es in meinem .muttrc, es speichert Backup-Dateien bis zum Neustart des Mac in/tmp/

verwandte Informationen