本節では、ディレクトリやファイルにおける外部(Dired外)の変更を反映してDiredバッファを更新するコマンド、およびDiredバッファの一部を削除するコマンドについて説明します。
Diredバッファ (revert-buffer) の全内容を更新します。
指定したファイル (dired-do-redisplay) を更新します。l のファイルは、ファイル操作と同様に指定します。
指定したファイル行を削除します—ファイルではなく、行のみです (dired-do-kill-lines)。
アルファベット順と日時順(dired-sort-toggle-or-edit)を切り替えます。
switches を dired-listing-switches として Dired バッファを更新する。
タイプ g (revert-buffer)
を指定すると、リストされたファイルやディレクトリの変更に基づいて Dired
バッファの内容を更新します。これにより、消滅したファイルに設定されていたマークを除き、すべてのマークが保持されます。非表示のサブディレクトリは更新されますが、引き続き非表示のままとなります。
一部のファイルのみを更新するには、l (dired-do-redisplay)
と入力します。Diredのファイル操作コマンドと同様に、このコマンドは次の n 個のファイル(または前の
−n
個のファイル)、マークされたファイル(あれば)、あるいは現在のファイルに対して動作します。ファイルを更新するとは、現在の状態を読み取り、バッファ内の該当行を更新してその状態を反映させることを意味します。
サブディレクトリのヘッダー行で l を使用すると、対応するサブディレクトリの内容が更新されます。
C-x d やその他の Dired コマンドを使用して、すでに Dired
バッファに表示されているディレクトリに移動した場合、Dired
はそのバッファに切り替えますが、内容は更新しません。バッファが最新の状態でない場合、Dired は更新するために g と入力するよう警告を表示します。また、変数 dired-auto-revert-buffer に nil
以外の値を設定することで、各 Dired バッファに再アクセスした際に自動的に元の状態に戻すよう Emacs に指示することもできます。
バッファからファイル行を削除する(実際のファイル自体は削除しない)には、k (dired-do-kill-lines)
と入力します。ファイル操作コマンドと同様に、このコマンドは次の n
個のファイル、またはマークされたファイル(あれば)に対して動作します。ただし、現在のファイルに対しては動作しません。そうしないと、k の入力ミスが煩わしくなる可能性があるためです。
Diredバッファにサブディレクトリとして挿入したディレクトリファイルの行を k で削除すると(Diredにおけるサブディレクトリを参照)、そのサブディレクトリの一覧も同時に削除されます。また、サブディレクトリのヘッダー行で C-u k と入力しても、Diredバッファからそのサブディレクトリの行が削除されます。
g コマンドを使用すると、この方法で削除した個々の行を復元できますが、サブディレクトリは復元できません。サブディレクトリを再挿入するには i を使用する必要があります。
Diredバッファ内のファイルは、通常、ファイル名のアルファベット順に並びます。あるいは、Diredでは日時順に並べ替えることも可能です。Diredコマンド
s (dired-sort-toggle-or-edit)
で、これら2つのソートモードを切り替えます。Diredバッファのモード行には、現在どちらの順(名前順か日時順か)でソートされているかが表示されます。
C-u s switches RET を使用すると、dired-listing-switches に新しい値を指定できます。