Я привык, что мои редакторы автоматически сохраняют файлы, когда они теряют фокус. Я недавно переключился на MacVim, и я не могу воссоздать такое поведение. Я попробовал это:
autocmd BufLeave,FocusLost * wall
но если буфер не назван, когда окно или MacVim теряет фокус, я получаю сообщение об ошибке, подобное следующему:
Error detected while processing BufLeave Auto commands for "*":
E141: No file name for buffer 1
Я в замешательстве, потому что документация :wall
гласит:
Write all changed buffers. Buffers without a file
name or which are readonly are not written.
так что я ожидаю, что он пропустит безымянные буферы. Есть ли лучший способ сделать это?
Редактировать
Я почти уверен, что лучший способ сделать то, что я хотел, используя BufLeave
- сохранять буферы при переключении между ними, поэтому я не получаю «Нет записи с момента последнего изменения» - это установить 'autowriteall'
. Вопрос остается открытым, когда MacVim теряет фокус на другие приложения (FocusLost
).