Я использую для своих редакторов автосохранение файлов, когда они теряют фокус. Недавно я переключился на 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.
поэтому я ожидаю, что он пропустит неназванные буферы. Есть ли лучший способ сделать это?
Edit
Я уверен, что лучший способ сделать то, что я намеревался, используя BufLeave
- сохранение буферов при переключении между ними, поэтому я не получаю "No write since the last change" - установить 'autowriteall'
. Вопрос по-прежнему сохраняется, когда MacVim теряет фокус для других приложений (FocusLost
).