vimで内容が空のファイルを保存したら自動で削除する
vim/gvimで開いたファイルを削除したい時があります。
:Explore や shellコマンドでも良いのですが、単純にファイルの中身を全削除して保存したらファイル自体も削除するように設定しています。
以下を .vimrcに追加します。
augroup BUFWRITE_POSTDELETE au! autocmd BufWritePost * call BufWritePostDelete() augroup END function! BufWritePostDelete() if search('^.\+$', 'ncw') == 0 call delete(expand('%:p')) endif endfunction
ファイルの中身に関わらず削除してはいけないファイルがある場合は、特定の拡張子の場合(例えば txt)だけ中身のないファイルを削除するようにした方がよいかもしれません。
augroup BUFWRITE_POSTDELETE au! autocmd BufWritePost *.txt call BufWritePostDelete() augroup END