私はvimをたくさん使っていますが、私の地域では停電がたくさんあります。その結果、PCに多数の*.swp
ファイルが散在します。
システム全体で.swp
、~
、.netrwhist
、.log
または.bak
のいずれかの拡張子を持つすべてのファイルを削除するrm
コマンドのエイリアスが必要です(または私のホームディレクトリに少なくとも)。コマンドは、~/Desktop
を使用している場合でも、ファイルシステム全体のホームディレクトリを削除する必要があります。
どうすれば実装できますか?
これにより、名前が.swp
、~
、.netrwhist
、.log
または.bak
で終わるすべてのファイルがホームディレクトリの下に削除されます。プロンプトなし、確認なし、回復なし、ファイルは永久に失われます。
find ~ -type f \( -name '*.swp' -o -name '*~' -o -name '*.bak' -o -name '.netrwhist' \) -delete
(*.log
は意図的に省略しています。これは危険に聞こえるため、これは一時ファイルの一般的な拡張子ではなく、その名前の非一時ファイルがたくさんあります。)
OSがLinuxでない場合は、-delete
を-exec rm {} +
に置き換えます。
directory
オプション を設定して、スワップファイルを単一のディレクトリに配置するようにVimを構成する必要があります。
set dir=~/tmp/vim-swap-files//,/var/tmp//
最初にディレクトリを作成します。末尾の//
を指定すると、スワップファイル名に元のファイルのディレクトリの場所が含まれるため、異なるディレクトリにある同じ名前のファイルがクラッシュすることはありません。
backupdir
オプション を使用すると、バックアップファイルに対して同じことができますが、あまり意味がありません。
Emacsを使用する場合、すべてのファイルが単一のディレクトリを指すように auto-save-file-name-transforms
を設定します。
(setq auto-save-file-name-transforms
'("\\`.*\\'" "~/tmp/emacs-auto-save-files/\\&" t))
特にvimファイルを対象にしている場合は、backupdir
変数を使用することをお勧めします。 :h backupdir
さんのコメント:
'backupdir' 'bdir' string (default for Amiga: ".,t:",
for MS-DOS and Win32: ".,c:/tmp,c:/temp"
for Unix: ".,~/tmp,~/")
global
{not in Vi}
List of directories for the backup file, separated with commas.
- The backup file will be created in the first directory in the list
where this is possible. The directory must exist, Vim will not
create it for you.
[... snip ...]
私は私の.vimrcでこの行を使用します:
set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp
また、〜/ .vim-tmpディレクトリがまだ存在しない場合は、それを作成しないため、作成する必要があります。
短い回答〜で終わるテンポラルを削除します
find . -type f \( -iname "*~" \) -delete
または.swapなどのような他のもの。
find . -type f \( -iname "*.swp" \) -delete