Next: , Previous: , Up: Dired (ディレクトリーエディター)   [Contents][Index]


31.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(ゴミ箱)に移動します。その他のファイル操作を参照してください。

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