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


31.20 その他のDiredの機能

Diredはデフォルトではそのディレクトリーの利用可能なディスクスペースを、ディレクトリーの一覧の最初の行のディレクトリー名の後に表示します。この表示は変数dired-free-spaceをカスタマイズすることによって制御できます。この変数のデフォルト値であるfirstは、ディレクトリー名の後に利用可能なスペースを生成します。これをseparateという値にカスタマイズすると、Diredはディレクトリー名の次の行に別途ディスクスペースを表示します。そしてその行には利用可能なディスクスペースと並んでカレントディレクトリーのファイルによって使用されているスペースも含められます。変数にnilにセットした場合には、利用可能なディスクスペースの表示を何も行いません。

コマンド+ (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でkillしたかのように、killリングに配します。ファイル名はスペースで区切られます。

プレフィクス引数に0を指定した場合、マークされた各ファイルの絶対ファイル名を使用します。プレフィクス引数にC-uだけを指定した場合、Diredバッファーのデフォルトディレクトリーからの相対ファイル名を使用します(サブディレクトリーから行なった場合はスラッシュが含まれます)。特別なケースとして、ポイントがディレクトリーのヘッダー行にある場合、wで、そのディレクトリーの絶対パスを得ることができます。この場合、プレフィクス引数とマークされたファイルは無視されます。

このコマンドの主な目的は、他のEmacsコマンドの引数として、ファイル名をyankすることです。これはkillリングに何が追加されたかも表示するので、現在マークされているファイルを、エコーエリアに表示するためにも使用できます。

ファイルリストの中にHTMLファイルがある場合は、そのファイルをブラウザで閲覧できると便利かもしれません。W (browse-url-of-dired-file)コマンドは、そのファイルの閲覧に標準に設定されたブラウザを使用します。

コマンド( (dired-hide-details-mode)は、カレントのDiredバッファーでの、ファイル所有者やファイルパーミッションなどの、詳細表示を切り替えます。デフォルトでは、シンボリックリンクのリンク先や、ヘッダー行とファイルやディレクトリーの一覧以外のすべての行も隠します。これを変更するには、オプションdired-hide-details-hide-symlink-targetsdired-hide-details-hide-information-linesをカスタマイズしてください。

visitしているディレクトリーが、バージョンコントロール(バージョンコントロール)の配下にある場合、選択されたファイルにたいして、通常のVC diffおよびVC logコマンドが処理を行ないます。

コマンドM-x dired-compare-directoriesは、カレントのDiredバッファーと、他のディレクトリーを比較するために使用されます。2つのディレクトリーで異なる、すべてのファイルがマークされます。カレントのDiredバッファーも含めて、それらのファイルをリストする、すべてのDiredバッファーでマークが付されます。

(入力を求められたときRETをタイプすると使用される)デフォルトの比較方法では、ファイル名だけを比較します — つまり別のディレクトリーに存在しないファイルは、異なります。Lisp式を入力して、より厳密な比較を指定することができます。この場合、変数size1size2はファイルサイズ、mtime1mtime2は最終修正時刻を秒で表した浮動小数点数、fa1fa2はファイルの属性リスト(関数file-attributesで返される形式)です。この比較は、同じ名前のファイルごとに評価され、式の値が非nilの場合、それらのファイルは異なります。

たとえばシーケンスM-x dired-compare-directories RET (> mtime1 mtime2) RETは、別のディレクトリーよりこのディレクトリーのファイルが新しい場合はマークし、このディレクトリーより別のディレクトリーのファイルが古い場合にマークします。相手がいないファイルも、両方のディレクトリーでマークが付されます。

Xウィンドウシステムでは、Emacsはドラッグアンドドロップのプロトコルをサポートします。別のプログラムからファイルオブジェクトをドラッグしてDiredバッファーにドロップできます。これによってそのディレクトリーにファイルの移動、コピー、あるいはリンクが作成されます。どのアクションが採用されるかは、正確には元のプログラムによって決定されます。ユーザーオプションdired-mouse-drag-filesを有効にすることによって、Diredバッファーの外部へのファイルのドラッグもサポートされるので、他のプログラムへのファイルのドラッグにマウスを使うことができます。linkにセットすると他のプログラム(通常はファイルマネージャーなど)がそのファイルへのシンボリックリンクを作成、moveにセットすると他のプログラムはそのファイルを新たな場所に移動するでしょう。それ以外の非nilにセットした場合には、他のプログラムはそのファイルをオープンするか、ファイルのコピーを作成します。ドラッグアンドドロップ操作の間にキーボードの修飾キーを押下することによって、そのファイルにたいして他のプログラムがどのアクションを行なうか制御することもできます。