拡張EmacsのDired-mode:Dired-Xのシンプルノート


1プロパティ
~~~~~~~
*不要なファイル表示をフィルタ
*Dired bufferで実行するshellコマンドを推測
*virtual-Dired、Dired Buffer以外のコンテンツに基づいてDired Bufferをシミュレート
*大量のファイルタグコマンド
*カーソルのテキストをファイル名として開く
2 Dired-Xの有効化
~~~~~~~~~~~~~~
(add-hook 'dired-load-hook
          (lambda ()
            (load "dired-x")
            ;; Set dired-x global variables here.  For example:
            ;; (setq dired-guess-shell-gnutar "gtar")
            ;; (setq dired-x-hands-off-my-keys nil)
            ))
(add-hook 'dired-mode-hook
          (lambda ()
            ;; Set dired-x buffer-local variables here.  For example:
            ;; (dired-omit-mode 1)
            ))

3不要なファイル表示をフィルタ
~~~~~~~~~~~~~~~~~~~~~~~
3.1命令
=========
  * * O
(dired-mark-omitted)表示する必要のないファイルを識別します.
  * M-o
(dired-omit-mode)表示不要とマークされたファイルを表示するかどうか
3.2変数
=========
  * dired-omit-files
ファイル名が正規表現に一致するファイルは、表示する必要がないとみなされます.
  * dired-omit-extensions
ファイル拡張子のファイルは、表示する必要がないとみなされます.
4実行すべきshellコマンドの推測
~~~~~~~~~~~~~~~~~~~~~~~~~~
Diredはファイル名に基づいてshellコマンドを推測します.「!」を押すとキーを押すと、Diredは推測したshellコマンドをmini-bufferのデフォルトとして使用します.
Diredは、複数のmarkのファイルを推測することなく、単一のファイルに対してshellコマンドを推測するだけです.
4.1コマンド
=========
  * !
指定ファイルに対してshellコマンドを許可する.このshellコマンドは、Dired-bufferの最上位ディレクトリをshellコマンドを実行する作業ディレクトリとして使用します.
  * M-!
似ています!ただし、shellコマンドは現在のディレクトリをshellを実行する作業ディレクトリとして使用し、1つのDired-bufferでiコマンドを使用して複数のサブディレクトリを挿入した場合、両者に差があります.
4.2変数
=========
  * dired-guess-shell-alist-default
予め定義された推測規則はnilに設定すると推測しない
  * dired-guess-shell-alist-user
ユーザーがカスタマイズした推測ルールは、dired-guess-shell-alist-defaultの値を上書きします.
このリストの各要素のフォーマットは(REGEXP COMMAND...)、ここで、COMMANDは、文字列又は戻り値が文字列であるLISP式である、選択のために複数のCOMMANDを提供することができる.
COMMANDではファイル名の代わりに*を使用することができる.
  * dired-guess-shell-gnutar
使用するtarコマンドがgnuのtarコマンドであるか否かを示すが、異なる点はzオプションである.nilの場合gnuを使用しないtarコマンドを表します.そうでない場合はgnu tarコマンド名を指定します.
  * dired-guess-shell-gzip-quiet
ogzipコマンドで-qコマンドを使用するかどうかを指定します.
  * dired-guess-shell-znew-switches
oznewコマンドを渡すオプション
  * dired-shell-command-history
このリストには、読み込まれたdired-shellコマンドがすべて保存されています.
5 Virtual Dired
~~~~~~~~~~~~~~~~
bufferの内容が丁度Dired-modeのフォーマットに合致する場合、bufferの内容に基づいてDired-modeを生成するdired-virtualをM-x dired-virtualで入力ことができ、その中で操作を行うことができ、その操作は実際のファイルシステムに影響を与える.
6拡張ファイルタグコマンドコマンド
~~~~~~~~~~~~~~~~~~~~~~~
 * F
すべてのmarkedのファイルを開き、同時に表示します.
 * M-(
このコマンドは、判断式の入力を促す、Emacsはその判断式に従ってファイルをマークし、接頭辞パラメータを加えると、これらのマークをキャンセルする.これらの判断式はLisp式です
 ;;すべての空のファイルを探します
 (equal 0 size)    
 ;;対応するelcファイルがないすべてのelファイルを検索
 (not (file-exists-p (concat name "c")))
式には、次のような記号を含めることができます.
       + inode
integer型、ファイルを表すinode
       + s
integer型、ファイルのサイズを表す
       + mode
string型、ファイルの属性を表し、'-rw-r--r--'のようなフォーマット
       + nlink
integer型、ファイルがlinkを持つ個数を表す
       + uid
string型、ファイルの所有者を表す
       + qid
string型、ファイルのすべてのグループを表す
       + size
integer型、ファイルのサイズを表す
       + time
string型、lsコマンドに表示される時間
       + name
string型、ファイルの名前
       + sym
string型、ファイルがソフトリンクの場合はリンクされたファイル名、そうでない場合は「」
 * dired-mark-extension
拡張子を指定したすべてのファイルにMarkタグを付けるには、「.」と明確に書く必要があります.
 * dired-flag-extension
拡張子を指定するすべてのファイルにDeleteタグを付けます.
 * dired-clean-patch
patchコマンドで生成する一時ファイルにDeleteタグを付ける.
 * dired-clean-tex
Tex,LaTeX,texinfoコマンドで生成する一時ファイルにDeleteタグを付ける.
 * dired-very-clean-tex
TeX、LaTeX、texinfoのために生成された一時ファイル、および*.dviファイルにDeleteタグを付ける
7カーソルのテキストをファイル名として開く
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
この機能を使用するには、dired-load-hookで`dired-x-hands-off-my-keys`をnilに設定する必要があります.
 * dired-x-find-file
dired-x-find-fileはfind-fileと同じですが、prefix argument(コマンドを実行する前にC-uを実行)を追加すると、カーソルの出典テキストをデフォルトのファイル名として使用します.
 * dired-x-find-file-other-window
dired-x-find-fileと似ていますが、別のウィンドウに表示されます.
 * dired-x-hands-off-my-keys
find-fileの代わりにdired-x-find-fileを使用するかどうか、find-file-other-windowの代わりにdired-x-find-fileを使用するかどうか、tは代替しないことを示し、そうでない場合は代替を示す.
この変数はdired-x.elをロードする前に値を割り当てる必要があります.dired-x.elをロードした後に変数を変更した場合は、コマンドdired-x-bind-find-fileを実行します.
 * dired-x-bind-find-file
このコマンドは、dired-x-hands-off-my-keysの値に基づいて、find-fileとfind-x-bind-file-other-windowをfind-fileとfind-file-other-windowの代わりに使用するかどうかを決定します.
9その他の説明
~~~~~~~~~~~
 * dired-jump
C-x C-jにバインドし、現在のbufferファイルが置かれているdiredにジャンプします.
 * dired-jump-other-window
dired-jumpのようにC-x 4 C-jにバインドされますが、開いているdiredは別のウィンドウにあります.
 * dired-vm
現在のファイルに対してVMコマンドを実行し、dired-bind-vm変数がtの場合はdired-modeのVコマンドにバインドします.
 * dired-rmail
現在のファイルに対してRmailコマンドを実行し、dired-bindvmがnilの場合dired-modeのVコマンドにバインドします.
 * dired-info
現在のファイルに対してInfoコマンドを実行し、dired-bind-infoがnilの場合dired-modeのIコマンドにバインドします.
 * dired-man
現在のファイルに対してmanコマンドを実行し、dired-bind-manがnilの場合dired-modeのNコマンドにバインドします.
 * dired-do-relsymlink
dired-modeでmarkタグを付けたファイルまたはカーソルがあるファイルに相対リンクを作成し、dired-modeのYコマンドにバインドします