Vim - сохранять буфер, когда foucs теряется из vim/nvim. То же, что и файлы VSCode. autoSave: настройка onFocusChange

В VS-Code есть настройка, в которой мы можем сохранить файл, когда фокус потерян. В vim у нас есть autowriteall, что хорошо, но пишет во все буфера.

Есть ли способ имитировать files.autoSave: onFocusChange в vim только для текущего буфера?


person arpit    schedule 11.05.2020    source источник


Ответы (1)


Есть события FocusGained и FocusLost. Но прочитайте документ, чтобы убедиться, что он будет работать так, как вы хотите.

В дополнение к этим двум событиям существуют также такие события, как winLeave или BufLeave, которые могут быть полезны для ваших потребностей в автосохранении.

Читайте документы.

person Kent    schedule 12.05.2020
comment
Нет. Они не работают, так как срабатывают, когда мы меняем буфер. Нам нужно как-то искать событие, которое срабатывает только для текущего буфера и только для vim/neovim. Это не должно влиять на другие несохраненные буферы. - person arpit; 13.05.2020
comment
@arpit Я тестировал здесь с BufLeave, его можно захватить, когда мы меняем фокус из окна. Я не знаю вашего конкретного требования, что вы хотите сделать, когда это событие произойдет, это другая тема. Вы можете выбрать, какой буфер/файл вы хотите сохранить. - person Kent; 13.05.2020