これは何か?
開いているファイルが不要になった時などに、中身を空にして保存をすると、そのファイルを削除することができる Vim script です。無条件で削除するのもアレなので、確認時に y を押した時のみ実行されます。
ユースケース
例えば memolist を使っていて、もはや不要になったメモを削除したいと思った時などに使っています。
ソース
augroup hykw_removeFile
autocmd!
autocmd BufWritePost * call s:Hykw_removeFileIf0Byte()
augroup END
function! s:Hykw_removeFileIf0Byte()
let filename = expand('%:p')
if getfsize(filename) > 0
" do nothing
return
endif
let msg = printf("\n%s is empty, remove?(y/N)", filename)
if input(msg) == 'y'
call delete(filename)
bdelete
endif
endfunction
使い方
.vim の適当な所にソースを貼り付けるだけです。ファイルの保存イベントの後に呼び出されます。