Posted by & filed under unix.


linuxでviとか使ってファイルを編集してると、末尾が”~”(チルダ)なバックアップファイルが自動生成される。

uコマンドで編集を取り消したりするために作成されるみたいだけど、編集後も削除されずに残っているのがいただけない。

しばらく放置してるとたちまちディレクトリがゴミファイルだらけになってしまう。

鬱陶しくなる度に削除してたけど、面倒くさいのでコマンドで一括削除できるようにメモ。(どうもfindとかのオプションは覚えられない…普段あまり活用してないせいだけど)

方法1:find + xargsで一括削除

find ~/. -type f -name "*~" -print0 | xargs -0 --interactive rm -f

削除前に一応確認をとるように。

–interactive オプションは -p でも可。どんな事をしようとしているのか明示化するために長い方で書いてます。

まあ、それを言ったら-0 は –null の方がいいのかもしれないけど、find の -print0 と関連してということで(^^;

方法2:.vimrcでそもそもバックファイルを作成しないように設定

根本的な解決方法。

.vimrcに次の行を書き足せばOK.

:set nobackup

ちなみにファイルを開いたときに作成されるスワップファイル(*.swf)はクラッシュしたときにしか残らないので気にしない。

気になる場合は、

:set noswapfile

で無効化。

また、通常これらのファイルは開いたファイルと同じディレクトリに生成されるが、一つのフォルダを指定してそこに集約する事が可能。このほうがすっきりしてかなりいい。

" backupファイルのディレクトリを指定
:set backupdir=~/vimfiles/tmp
" swapファイルのディレクトリを指定
:set directory=~/vimfiles/tmp