Next: Diredでのシェルコマンド, Previous: Diredでのマークとフラグ, Up: Dired (ディレクトリーエディター) [Contents][Index]
このセクションでは、1つまたは複数のファイルを操作する、基本的なDiredコマンドを説明します。これらのコマンドはすべて大文字で、引数を読み取ったり、実際に動作する前に確認を求めるのに、ミニバッファーを使用します。これらのコマンドはすべて、以下の方法により操作するファイルを指定します:
コマンド!や‘%’のような他のDiredコマンドにも、操作対象となるファイルを決定するのに、同じ規則を使うものがあります。
Diredバッファーに表示されている1つ以上のファイルにたいして、ここで説明したDiredコマンドに加えてバージョンコントロール(VC)のコマンドを呼び出すこともできます。バージョンコントロールを参照してください。
ファイルのコピーやリネーム、それらにたいするリンクを作成するような、対象ディレクトリーを尋ねるコマンドは、操作のためにデフォルトの対象ディレクトリーの推論を試みます。これらのコマンドは通常、Diredバッファーのデフォルトディレクトリーを提案しますが、オプションdired-dwim-target
が非nil
で、何らかのウィンドウに別のDiredバッファーが存在しない場合には、その他のバッファーのディレクトリーをかわりに提案します。dired-dwim-target
によりDiredバッファーを表示する次のウィンドウ、Diredバッファーを表示するもっとも最近使用されたウィンドウ、あるいはそれ以外の関数の使用のどれを優先するかをカスタマイズできます。値が関数ならそれは引数なしで呼び出されて、デフォルト(デフォルトターゲットおよび“future
history”)として使用するディレクトリーのリストをリターンすることが期待されます。
以下は、ファイルにたいして操作を行なうDiredコマンドです。
指定されたファイルをコピーします(dired-do-copy
)。引数newはコピー先のディレクトリー、または(1つのファイルをコピーする場合は)新しいファイル名です。これはシェルコマンドcp
と似ています。
オプションdired-create-destination-dirs
はDiredがファイルのコピーやリネームで対象先に存在しないディレクトリーがある場合に、それを作成するかどうかを制御します。デフォルト値のnil
はそのような存在しないディレクトリーを作成しないことを意味します。値always
はDiredが自動的にそれらを作成すること、値ask
はそれらを作成する前にDiredが確認を求めることを意味します。
dired-create-destination-dirs
に加えてオプションdired-create-destination-dirs-on-trailing-dirsep
が非nil
なら、対象先ディレクトリーの末尾のディレクトリー区切りは特別に扱われます。‘test/’にコピーする際にディレクトリー‘test’が存在しなければ作成して、ソースとして指定したファイルやディレクトリーを新たに作成したディレクトリー内にコピーします。
dired-copy-preserve-time
が非nil
の場合、このコマンドでコピーすることにより、‘cp
-p’でコピーしたときのように、古いファイルの最終修正時刻(modification time)が保持されます。
変数dired-recursive-copies
は、(‘cp
-r’のように)ディレクトリーを再帰的にコピーするかを制御します。デフォルトはtop
で、これはディレクトリーを再帰的にコピーする前に、確認を求めることを意味します。
変数dired-copy-dereference
はシンボリックリンクをリンクとしてコピーするか、あるいは( ‘cp
-L’のように)参照剥がし(dereference)の後にコピーするかを制御します。デフォルトはnil
で、これは新たにシンボリックリンクを作成してシンボリックリンクをコピーすることを意味します。
dired-keep-marker-copy
はこのコマンドがファイルのマークをどのように扱うかを制御するユーザーオプションです。ファイルの新たなコピーすべてをマークするのは、デフォルトでは‘C’です。
指定されたファイルを削除します(dired-do-delete
)。これはシェルコマンドrm
と似ています。
このセクションの他のコマンドと同様、このコマンドはマークされたファイル、または次のn個のファイルを操作します。対照的にx
(dired-do-flagged-delete
)は、フラグがついたすべてのファイルを削除します。
指定されたファイルをリネームします(dired-do-rename
)。1つのファイルをリネームする場合、引数newはファイルの新しい名前です。複数のファイルをリネームする場合、引数newはファイルを移動するディレクトリーです(これはシェルコマンドmv
と似ています)。
オプションdired-create-destination-dirs
はDiredがnew内に存在しないディレクトリーを作成するかどうかを制御します。
対象先ディレクトリー末尾のディレクトリー区切りを特別扱いするかどうかを制御するには、dired-create-destination-dirs
に加えてオプションdired-create-destination-dirs-on-trailing-dirsep
もセットしてください。これをセットした場合にはディレクトリー‘old’を‘new/’にリネームする際にディレクトリー‘new’が存在しなければ作成して、その新たに作成したディレクトリー配下に‘old’を移動します。セットしていなければ‘old’を‘new’にリネームします。
Diredはリネームされたファイルに関連付けられたバッファーによりvisitされたファイルの名前を自動的に変更するので、これらのバッファーは新しい名前を参照します。
変数dired-vc-rename-file
の値が非nil
なら、
vc-rename-file
(バージョンコントロールされたファイルの削除とリネームを参照)を通じて背後にあるVCSのコマンドを使用してファイルをリネームします。
指定されたファイルのハードリンクを作成します(dired-do-hardlink
)。これはシェルコマンドln
と似ています。引数newはリンクを中に作成するディレクトリー、または(1つのリンクだけを作成する場合は)リンクに与える名前です。
指定されたファイルのシンボリックリンクを作成します(dired-do-symlink
)。これは‘ln
-s’と似ています。引数newはリンクを中に作成するディレクトリー、または(1つのリンクだけを作成する場合は)リンクに与える名前です。
指定されたファイルの相対的なシンボリックリンクを作成します(dired-do-relsymlink
)。引数newはリンクを中に作成するディレクトリー、または(1つのリンクだけを作成する場合は)リンクに与える名前です。これはdired-do-symlink
と似ていますが、相対的なシンボリックリンクを作成します。
foo -> ../bar/foo
これは下記のような絶対的なシンボリックリンクは作成しません:
foo -> /path/that/may/change/any/day/bar/foo
指定されたファイルのモード(パーミッションビットとも呼ばれる)を変更します(dired-do-chmod
)。modespecには、chmod
プログラムで扱われる引数のような、8進かシンボル表記を指定できます。このコマンドはシンボリックリンクをフォローしないので、シンボリックリンクのモードが変更不可なプラットフォームでシンボリックリンクのモード変更を試みるとエラーが報告されるでしょう。
指定されたファイルのグループを、newgroupに変更します(dired-do-chgrp
)。
指定されたファイルの所有者を。newownerに変更します(dired-do-chown
。ほとんどのシステムでは、これを行なうことができるのはスーパーユーザーだけです)。
変数dired-chown-program
は、処理を行なうために使用するプログラムの名前を指定します(システムが異なると、chown
が違う場所に配されている場合があるので、この変数が必要)。
指定されたファイルにtouchします。これはファイルの修正時刻をtimestamp
(デフォルトは現在時刻)で更新することを意味します。これはシェルコマンドtouch
に似ています。
指定されたファイルを印刷します(dired-do-print
)。それらを印刷するためのコマンドを指定しなければなりませんが、ミニバッファー開始時には、変数lpr-command
およびlpr-switches
(lpr-buffer
が使用するのと同じ変数。ハードコピーの印刷を参照してください)を使用することにより推定された、適切な初期値が示されます。
指定されたファイルを圧縮します(dired-do-compress
)。そのファイルがすでに圧縮済みのようなら解凍します。マークされたファイルはそれぞれ自身のアーカイブへと圧縮されます。利用可能ならgzip
、そうでなければcompress
を使用します。
ディレクトリー名にたいしては、このコマンドはユーザーオプションdired-compress-directory-default-suffix
に応じて圧縮アーカイブを生成します。デフォルトではそのディレクトリーのすべてのファイルを含む、圧縮アーカイブ.tar.gzを生成します。圧縮されたディレクトリーの解凍は、アーカイブファイル.tar.gzや.tgz上でZをタイプすることにより、ファイル名から拡張子を除いた名前のディレクトリー内にアーカイブ内のすべてのファイルが解凍されます。
指定されたファイルを、ファイルシステム上のどこかにある1つのアーカイブに圧縮します(dired-do-compress-to
)。デフォルトアーカイブはユーザーオプションdired-compress-directory-default-suffix
によって制御されます。dired-compress-files-alist
も参照してください。
指定されたファイルを復号化します(epa-dired-do-decrypt
)。Dired integration in EasyPG Assistant User’s Manualを参照してください。
指定されたファイルのデジタル署名を検証します(epa-dired-do-verify
)。Dired integration in EasyPG Assistant User’s Manualを参照してください。
指定されたファイルにデジタル署名します(epa-dired-do-sign
)。Dired integration in EasyPG Assistant User’s Manualを参照してください。
指定されたファイルを暗号化します(epa-dired-do-encrypt
)。Dired integration in EasyPG Assistant User’s Manualを参照してください。
指定されたEmacs Lispファイルをロードします(dired-do-load
)。EmacsのためのLispコードによるライブラリーを参照してください。
指定されたEmacs Lispファイルをバイトコンパイルします(dired-do-byte-compile
)。Byte Compilation in The Emacs Lisp Reference
Manualを参照してください。
そのファイルにたいして(Info形式のファイルとみなして)Infoを実行します。
そのファイルにたいして(nroff
形式のファイルとみなして)manを実行します。
指定されたすべてのファイルにたいして、正規表現regexpを検索します(dired-do-find-regexp
)。
このコマンドはxref-find-references
(識別子の検索と置換を参照)の変種で、必要に応じて、*xref*バッファーで利用可能なコマンドで説明されているコマンドを使用することにより、マッチ間を移動したり、それらを表示することができる*xref*バッファーを表示します。
マークされたファイルやディレクトリーがある場合、このコマンドはそれらのディレクトリーにあるすべてのファイルとサブディレクトリーを再帰的に検索します。ただし名前がgrep-find-ignored-files
にマッチするファイルと、grep-find-ignored-directories
にマッチするサブディレクトリーは除外されます。
指定された各ファイルにたいしてquery-replace-regexp
を行い、regexpにたいするマッチを、文字列toに置換します(dired-do-find-regexp-and-replace
)。
このコマンドはxref-query-replace-in-results
の変種です。これはregexpにたいするすべてのマッチをリストする*xref*バッファーを表示します。このバッファーでは特別なコマンド(*xref*バッファーで利用可能なコマンドを参照)を使用できます。特に、問い合わせつき置換のループ(query replace
loop)をexitした場合は、そのバッファーで更に置換を行なうためにrを使用できます。識別子の検索と置換を参照してください。
dired-do-find-regexp
と同様に、マークされたファイルがディレクトリーの場合、このコマンドはそれらのディレクトリー内、およびそれらのサブディレクトリーのすべてのファイルの置換を再帰的に行います。ただし、名前がgrep-find-ignored-files
にマッチするファイル、および名前がgrep-find-ignored-directories
にマッチするサブディレクトリーは除外されます。
Next: Diredでのシェルコマンド, Previous: Diredでのマークとフラグ, Up: Dired (ディレクトリーエディター) [Contents][Index]