Я пытаюсь настроить версию оболочки 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/