ファイルに‘D’というフラグをつけるのではなく、他の文字(通常は‘*’)でファイルをマークすることもできます。ほとんどのDiredコマンドは、‘*’でマークされたファイルにたいしてコマンドを処理します。フラグ付けされたファイルだけに作用するコマンドは、それらのファイルを削除するxだけです。
以下は‘*’でマークしたり、マークを外したり、マークにたいして操作を行なうコマンドです(ファイルにたいしてフラグをつけたり外すコマンドについては、Diredでのファイルの削除についてを参照してください)。
カレントファイルを‘*’でマークします(dired-mark
)。リージョンがアクティブの場合、かわりにリージョン内のすべてのファイルをマークします。そうでない場合、数引数nが与えられたときは、カレント行から数えて、次のn個のファイルまでをマークします(nが負の場合、前の−n個のファイルをマークします)。サブディレクトリーのヘッダー行(subdirectory
header line: Diredでのサブディレクトリーを参照)で呼び出さた場合、このコマンドはそのサブディレクトリー内のすべてのファイルをマークします。
マークしたファイルの数とサイズを報告します(dired-number-of-marked-files
)。
すべての実行ファイルを‘*’でマークします(dired-mark-executables
)。数引数を指定すると、それらのファイルのマークを外します。
すべてのシンボリックリンクを、‘*’でマークします(dired-mark-symlinks
)。数引数を指定すると、それらのファイルのマークを外します。
.と..を除く、すべてのディレクトリーを‘*’でマークします(dired-mark-directories
)。数引数を指定すると、それらのディレクトリーのマークを外します。
.と..を除く、カレントのサブディレクトリー内のすべてのファイルをマークします(dired-mark-subdir-files
)。
この行の任意のマークを外します(dired-unmark
)。リージョンがアクティブの場合は、かわりにリージョン内のすべてのファイルのマークを外します。そうでない場合、数引数nが与えられた場合は、カレントファイルから数えて、次のn個のファイルのマークを外します(nが負の場合、前の−n個のファイルのマークを外します)。
ポイントを前の行に移動して、その行のマークを外します(dired-unmark-backward
)。リージョンがアクティブの場合、かわりにリージョン内のすべてのファイルのマークを外します。そうでない場合、数引数nが与えられたときは、カレントファイルから数えて、前のn個のファイルのマークを外します(nが負の場合、次の−n個のファイルのマークを外します)。
Diredバッファーの、すべてのファイルのマークを外します(dired-unmark-all-marks
)。
文字markcharを使用する、すべてのマークを外します(dired-unmark-all-files
)。M-DELで呼び出された場合、このコマンドはmarkcharの入力を求めます。markcharは1文字です
— これを終了させるためにRETを使用しないでください。以下の*
cの説明を参照してください。これは1つのマーク文字を、他の文字に置換します。
数引数を指定した場合、このコマンドはマークされたファイルごとに、マークを外すか確認します。yはyes(はい)で、nはno(いいえ)、!は残りのファイルにたいして確認を行なわずにマークを外します。
次にマークされたファイルへ下に移動します(dired-next-marked-file
)。“マークされた”ファイルとは、任意の種類のマークがついているファイルです。
前のマークされたファイルへ、上に移動します(dired-prev-marked-file
)。
すべてのマークを切り替えます(dired-toggle-marks
)。つまり、‘*’でマークされたファイルのマークを外し、マークされていないファイルを‘*’でマークします。他の方法でマークされたファイルは影響を受けません。
文字old-markcharを使ったすべてのマークを、文字new-markcharを使ったマークに置き換えます(dired-change-marks
)。このコマンドは主に‘*’や‘D’以外の文字を使用したマークを作成するのに使われます。引数は1文字です
— 終了させるためにRETを使用しないでください。
このコマンドは、マーク文字としてほとんどの任意の文字を使用できるので、ファイルをさまざまなクラスに分類することができます。old-markcharがスペース(‘ ’)の場合、このコマンドは、すべてのマークされていないファイルにたいして処理を行ないます。new-markcharがスペースの場合、このコマンドは対象となるファイルのマークを外します。
このコマンドの威力を知る例として、以下ではマークされていないファイルすべてにフラグ‘D’をセットして、すでに‘D’フラグがついているものはフラグを外しています:
* c D t * c SPC D * c t SPC
この例では、すでに‘t’でマークされたファイルがないと仮定しています。
名前が正規表現regexpにマッチするすべてのファイルを、(‘*’で)マークします(dired-mark-files-regexp
)。このコマンドは%
dと似ていますが、‘D’のフラグをつけるかわりに、‘*’でマークします。
マッチングには、ファイル名のディレクトリー部分以外だけが使用されます。マッチのアンカーとして、‘^’と‘$’が使用できます。サブディレクトリーを一時的に隠すことにより、それらを除外できます(サブディレクトリーを隠すを参照してください)。
内容(contents)に正規表現regexpにたいするマッチを含むすべてのファイルを、(‘*’で)マークします(dired-mark-files-containing-regexp
)。このコマンドは%
mと似ていますが、ファイル名ではなくファイル内容を検索する点が異なります。ファイルがEmacsバッファーでvisitされていて、dired-always-read-filesystem
がnil
(デフォルト)なら、このコマンドはファイルを再visitせずにバッファーの内容を調べるので、ディスク上のファイル内容が、最後にvisitしたときから変更されている場合は、矛盾した結果になるかもしれません。これを望まない場合は、このコマンドを呼び出す前に、バッファーでvisitされているファイルをリバートしたり、それらのバッファーにたいしてAuto-Revert
モードをオンに切り替えたいと思うかもしれません。バッファーのリバートを参照してください。ファイルをリバートしたりAuto-Revertモードをオンにせずに、このコマンドに常にファイルを再visitさせたい場合は、dired-always-read-filesystem
を非nil
にセットしたいと思うかもしれません。
Diredバッファーでの、マークの追加や削除などの変更をアンドゥします(dired-undo
)。このコマンドは実際のファイル操作をリバートしたり、失われたファイルを回復しません!
これは単にバッファー自身にたいする変更をアンドゥするだけです。
ファイルを操作するコマンドの後でこれを使用することにより、問題が起こる場合もあります。たとえば1つ以上のファイルをリネームしてから、Diredバッファーでdired-undo
により元の名前にリストアした場合、Diredバッファーと、そのディレクトリーの実際の内容が、同期しなくなります。
“click to select(クリックして選択)”モードにエンターします。ファイル名の上でマウスボタンmouse-2を使ってファイルのマークを切り替えることができます。このモードはタッチスクリーンデバイスを使ってファイル管理を行う際に役に立つでしょう。
これはファイル名の上で“hold”のジェスチャー(Emacsでのタッチスクリーンの使用を参照)を検出すると有効になり、マークされたファイルにDiredコマンドが操作を終えたら自動的に無効になります。