Next: , Previous: , Up: Dired   [Contents][Index]


30.3 Diredでのファイルの削除について

もっともよく使われるDiredの使用法は、最初にファイルを削除するためにフラグ(flag)をつけて、その後にフラグがつけられたファイルを削除をする方法です。

d

削除するために、このファイルにフラグをつけます(dired-flag-file-deletion)。

u

削除フラグを外します(dired-unmark)。

DEL

その行の削除フラグを外して、ポイントを前の行に移動します(dired-unmark-backward)。

x

削除のフラグがつけられたファイルを削除します(dired-do-flagged-delete)。

ファイルが記述されている行に移動して、d (dired-flag-file-deletion)とタイプすることにより、ファイルを削除するためのフラグをつけることができます。削除フラグは行頭に‘D’が表示されます。このコマンドはポイントを次の行に移動するので、dコマンドを繰り返すことにより、連続してファイルにフラグをつけることができます。数引数は繰り返し回数を指定します。負の引数は前のファイルにフラグをつけることを意味します。

リージョンがアクティブの場合、dコマンドはリージョンのすべてのファイルに削除のフラグをつけます。この場合、コマンドはポイントを移動せず、プレフィクス引数も無視します。

ファイルを即座に削除せず、削除のフラグをファイルにつける理由は、意図しないファイルを削除する危険を軽減するためです。フラグがついたファイルをDiredに削除をさせる前に、コマンドuまたはDELで、削除フラグを外すことができます。u (dired-unmark)はdと同じように機能しますが、これはフラグをつけるのではなくフラグを外します。DEL (dired-unmark-backward)は、上に移動してフラグを外します。これはuに引数-1を指定するのと同じです。どちらのコマンドも、数引数は繰り返し回数で、負の引数は反対方向にフラグを外していくことを意味します。リージョンがアクティブの場合、ポイントを移動せずにリージョン内のすべてのファイルのフラグを外します。

フラグがついたファイルを削除するには、x (dired-do-flagged-delete)とタイプします。このコマンドは削除フラグがついた、すべてのファイルのリストを表示して、確認を求めます。もしこれにyesと応えた場合、Diredはフラグがついたファイルを削除して、それらのファイルにたいするDiredバッファーの行を削除します。Diredバッファーの行数は少し減り、バッファーは選択されたまま残ります。

確認を求められたときnoと応えるか、C-gで中断した場合は、即座にDiredに戻ります。バッファーの削除フラグはそのまま残り、実際に削除されたファイルはありません。

空ディレクトリーは他のファイルと同様に削除できますが、Diredは通常、空でないディレクトリーは削除できません。変数dired-recursive-deletesが非nilの場合には、Diredはディレクトリーの内容も含めて、空でないディレクトリーを削除できます。dired-recursive-deletesnilにセットしている場合でも、ディレクトリーの内容すべてについて問い合わせされることなく、ディレクトリーを再帰的に削除したいこともあるかもしれません。これには若干の危険が伴います。変数の値がalwaysの場合は、さらに危険性は増すとはいえ、Diredは空でないディレクトリーを再帰的に削除するでしょう。これは、多くのディレクトリーにたいして削除のマークを付与して、それらすべてを安全に削除できると確信がもてるとき便利な方法です。たとえdired-recursive-deletesnilにセットしている場合でも、ディレクトリーの内容すべてについて問い合わせされることなく、ディレクトリーを再帰的に削除したいこともあるかもしれません。空でないディレクトリーすべてにたいして、確認が求められますが、allと応えた場合は、それ以上の問い合わせなしで残りすべてのディレクトリーが削除されます。

変数delete-by-moving-to-trashtに変更した場合、上記の削除コマンドは対象となるファイルおよびディレクトリーを削除するかわりに、システムのTrash(ゴミ箱)に移動します。Misc File Opsを参照してください。

ファイルを削除する代替手段は、それらをmでマークしてDで削除する方法です。Operating on Filesを参照してください。