GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Dired-Features.html ・ emacs-doc.conao3.com

32.20 その他のDired機能

デフォルトでは、Diredはディレクトリ一覧の1行目、ディレクトリ名の後に、そのディレクトリが配置されているディスクの空き容量を表示します。変数 dired-free-space をカスタマイズすることで、この表示を制御できます。デフォルト値は first で、この場合はディレクトリ名の後に空き容量が表示されます。代わりに separate にカスタマイズすると、Diredはディレクトリ名の行の後に、ディスク容量情報を別行で表示し、その行に現在のディレクトリ内のファイルが使用している容量とディスクの空き容量の両方を記載します。これを nil に設定すると、ディスクの空き容量情報は一切表示されなくなります。

Diredはバッファ内の項目をフォント表示します。バッファのdefault-directoryがリモートである場合、シンボリックリンクのfile-truenameにアクセスする必要があるため、処理負荷が高くなる可能性があります。これによるDiredの動作低下を防ぐため、接続速度が遅いリモートディレクトリについては、ユーザーオプションdired-check-symlinksをnilに設定してください。これは、リモートシステムが接続可能である仕組みに合わせて、connection-local変数として宣言できます(接続ごとのローカル変数を参照)。

コマンド + (dired-create-directory) はディレクトリ名を読み取り、そのディレクトリを作成します。ディレクトリが既に存在する場合は、エラーを返します。

このコマンド (dired-create-empty-file) はファイル名を読み込み、そのファイルを作成します。ファイルが既に存在する場合は、エラーを返します。

コマンド M-s a C-s (dired-do-isearch) は、マークされたファイルに対して複数ファイルにわたるインクリメンタル検索を開始します。ファイルの末尾で検索に失敗した場合、C-s と入力すると次のマークされたファイルに移動して検索が繰り返されます。最後のマークされたファイルの末尾に達すると、検索は最初のマークされたファイルに戻ります。コマンド M-s a M-C-s (dired-do-isearch-regexp) は、正規表現検索で同様の動作を行います。検索の繰り返しに関する情報については、インクリメンタル検索の繰り返し を参照してください。

コマンド w (dired-copy-filename-as-kill) は、マークされた(または次の n)ファイルの名前を、あたかも C-w でキルしたかのようにキルリングに格納します。ファイル名はスペースで区切られます。

プレフィックス引数に 0 を指定すると、マークされた各ファイルの絶対ファイル名が使用されます。プレフィックス値に 1 を指定すると、プロジェクトルートを基準とした相対ファイル名が使用されます。プレフィックス引数に C-u のみを指定すると、Diredバッファのデフォルトディレクトリを基準とした相対ファイル名が使用されます。(サブディレクトリ内にある場合は、引き続きスラッシュが含まれることがあります。)特殊なケースとして、point がディレクトリヘッダー行にある場合、w はそのディレクトリの絶対名を返します。この場合、プレフィックス引数やマークされたファイルは無視されます。

このコマンドの主な目的は、ファイル名を他のEmacsコマンドの引数にヤンクできるようにすることです。また、キルリングに追加した内容を表示するため、これを利用して現在マークされているファイルの一覧をエコーエリアに表示することもできます。

ファイル一覧にHTMLファイルがある場合、そのファイルをブラウザで表示すると便利です。W (browse-url-of-dired-file) コマンドを使用すると、標準で設定されているブラウザでそのファイルが表示されます。

コマンド ( (dired-hide-details-mode) は、現在の Dired バッファにおいて、所有権やファイル権限などの詳細情報を表示するかどうかを切り替えます。デフォルトでは、シンボリックリンクのリンク先や、ヘッダ行およびファイル/ディレクトリ一覧以外のすべての行も非表示になります。これを変更するには、オプション dired-hide-details-hide-symlink-targets および dired-hide-details-hide-information-lines をそれぞれカスタマイズしてください。

コマンド M-x dired-compare-directories は、現在の Dired バッファを別のディレクトリと比較するために使用されます。これにより、2つのディレクトリ間で異なるすべてのファイルがマークされます。これらのマークは、該当するファイルが登録されているすべての Dired バッファに付与され、当然ながら現在のバッファも含まれます。

デフォルトの比較方法(プロンプトで RET と入力した場合に使用されます)は、ファイル名のみを比較するものです。一方のディレクトリに存在しない場合、ファイル名は異なります。Lisp式を入力することで、より厳密な比較を指定できます。この式では、それぞれのファイルサイズである変数 size1 および size2、秒単位の最終修正時刻である浮動小数点数 mtime1 および mtime2、そしてそれぞれのファイル属性リスト(関数 file-attributes によって返されるもの)である fa1 および fa2 を参照できます。この式は同名ファイルの各ペアに対して評価され、式の値が nil 以外である場合、ファイルは異なると判定されます。

例えば、シーケンス M-x dired-compare-directories RET (> mtime1 mtime2) RET は、このディレクトリにあるファイルが他方のディレクトリにあるものより新しい場合にマークし、他方のディレクトリにあるファイルがこちらのディレクトリにあるものより古い場合にマークします。また、いずれのディレクトリにも対応するファイルがないファイルについても、常にマークします。

X Window Systemにおいて、Emacsはドラッグ&ドロッププロトコルをサポートしています。別のプログラムからファイルオブジェクトをドラッグしてDiredバッファにドロップすると、そのディレクトリ内でファイルの移動、コピー、またはリンクの作成が行われます。具体的にどの操作が行われるかは、元のプログラムによって決定されます。Diredバッファからファイルをドラッグして取り出す操作もサポートされており、ユーザーオプション dired-mouse-drag-files を有効にすると、マウスを使ってファイルを他のプログラムにドラッグできます。link に設定すると、他のプログラム(通常はファイルマネージャ)にファイルへのシンボリックリンクを作成させます。move に設定すると、他のプログラムにファイルを新しい場所へ移動させます。それ以外の nil 以外の値を設定すると、他のプログラムにファイルを開くか、そのコピーを作成させます。ドラッグ&ドロップ操作中に押すキーボード修飾キーによっても、他のプログラムがファイルに対して行う操作を制御できます。