De undo-persistence
:
The 'undofile' option is checked after writing a file, before the BufWritePost
autocommands. If you want to control what files to write undo information
for, you can use a BufWritePre autocommand: >
au BufWritePre /tmp/* setlocal noundofile
Eu sugeriria que você decida, antes de gravar o arquivo de desfazer, qual será o tamanho, e decida se deseja definir 'undofile'
. É provavelmente mais fácil deixar o vim gravar o arquivo, em seguida, usar um BufWritePost
autocommand para verificar o tamanho do arquivo recém-gravado e, se for muito grande, excluí-lo.