4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

0バイトのファイルを保存した時に、ファイルを削除するVim script

Last updated at Posted at 2014-12-27

これは何か?

開いているファイルが不要になった時などに、中身を空にして保存をすると、そのファイルを削除することができる 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 の適当な所にソースを貼り付けるだけです。ファイルの保存イベントの後に呼び出されます。

URL

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?