ユーザーディレクトリですべての一時ファイルを見つけて削除します。

ユーザーディレクトリですべての一時ファイルを見つけて削除します。

私はvimを大量に使用していますが、私が住んでいる地域では停電が頻繁に発生します。その結果、*.swp私のコンピュータにたくさんのファイルが散らばってしまいました。

拡張子またはシステム全体のrmすべてのファイルを削除するコマンドエイリアスが必要です。.swp~.netrwhist.log.bak(または少なくとも私のホームディレクトリに)。私がここにいても~/Desktop

これをどのように実装しますか?

答え1

これにより、名前.swpまたは他の場所で終わるホームディレクトリ内のすべてのファイルが削除されます。プロンプト、確認、修復がなく、ファイルが永遠に消えた。~.netrwhist.log.bak

find ~ -type f \( -name '*.swp' -o -name '*~' -o -name '*.bak' -o -name '.netrwhist' \) -delete

(危険なので、わざと省略しました*.log。一時ファイルの一般的な拡張子ではなく、その名前を持つ一時ではないファイルがたくさんあります。)

オペレーティングシステムがLinuxでない-delete場合-exec rm {} +

次のように設定して、スワップファイルをディレクトリに配置するようにVimを設定する必要があります。directoryオプション:

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))

答え2

特に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 ディレクトリがない場合は作成する必要があります。ディレクトリが自動的に作成されないためです。

答え3

短答型で終わる時制削除

find . -type f \( -iname "*~" \) -delete

あるいは、.swapなどの他のものもあります。

find . -type f \( -iname "*.swp" \) -delete

関連情報