Сохранение файлов при потере фокуса в Vim

Сохранение файлов при потере фокуса в Vim

Я пытаюсь настроить версию оболочки vim так, чтобы она сохраняла все измененные файлы, когда окно оболочки теряет фокус.

Следующийэтиинструкция не работает.

Хотя я использую OS X, я думаю, что это может быть то, что влияет на vim, работающий на Linux. Могу ошибаться, но я подумал, что я также попробую здесь, а также на apple.stackexchange.com.

Могу ли я предположить, что причина, по которой это не работает для командной версии vim, заключается в том, что она предназначена только для работы с графическими версиями, т. е. MacVim?

Есть ли способ заставить это работать в оболочке vim?

Я использую последнюю версию vim, доступную в Homebrew.

решение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/

Связанный контент