root/branches/2.1/info/dired-x

Revision 3212, 42.8 kB (checked in by miyoshi, 5 years ago)

Sync up with Emacs-21.3.

Line 
1 This is ../info/dired-x, produced by makeinfo version 4.2 from
2 dired-x.texi.
3
4 INFO-DIR-SECTION Emacs
5 START-INFO-DIR-ENTRY
6 * Dired-X: (dired-x).   Dired Extra Features.
7 END-INFO-DIR-ENTRY
8
9 
10 File: dired-x,  Node: Copyright,  Next: Top,  Prev: (dir),  Up: (dir)
11
12    This documents the "extra" features for Dired Mode for GNU Emacs
13 found in the file `dired-x.el'.
14
15    Copyright (C) 1993, 1994, 2001 Free Software Foundation, Inc.
16
17    Permission is granted to make and distribute verbatim copies of this
18 manual provided the copyright notice and this permission notice are
19 preserved on all copies.
20
21    Permission is granted to copy and distribute modified versions of
22 this manual under the conditions for verbatim copying, provided that
23 the entire resulting derived work is distributed under the terms of a
24 permission notice identical to this one.
25
26    Permission is granted to copy and distribute translations of this
27 manual into another language, under the above conditions for modified
28 versions, except that this permission notice may be stated in a
29 translation approved by the Free Software Foundation.
30
31    The file used to create this is called `dired-x.texi', but the
32 original work that was altered to make that file was called
33 `dired.texi' written by Sebastian Kremer.
34
35 
36 File: dired-x,  Node: Top,  Next: Introduction,  Prev: Copyright,  Up: (dir)
37
38 This documents the "extra" features for Dired Mode for GNU Emacs that
39 are provided by the file `dired-x.el'.
40
41    * Based on `dired.texi' by Sebastian Kremer <sk@thp.uni-koeln.de>
42
43    * For `dired-x.el' revision 2
44
45
46 * Menu:
47
48 * Introduction::
49 * Installation::
50 * Omitting Files in Dired::
51 * Local Variables::
52 * Shell Command Guessing::
53 * Virtual Dired::
54 * Advanced Mark Commands::
55 * Multiple Dired Directories::
56 * Find File At Point::
57 * Miscellaneous Commands::
58 * Bugs::
59
60 * Concept Index::
61 * Command Index::
62 * Key Index::
63 * Variable Index::
64
65 
66 File: dired-x,  Node: Introduction,  Next: Installation,  Prev: Top,  Up: Top
67
68 Introduction
69 ************
70
71    This documents the _extra_ features for Dired Mode for GNU Emacs.  It
72 is derived from version 1.191 of Sebastian Kremer's `dired-x.el'.
73
74    In adopting this `dired-x.el' to GNU Emacs v19 some material that has
75 been incorporated into `dired.el' and `dired-aux.el' of the GNU Emacs
76 19 distribution has been removed and some material was modified for
77 agreement with the functions in `dired.el' and `dired-aux.el'.  For
78 example, the code using `gmhist' history functions was replaced with
79 code using the mini-buffer history now built into GNU Emacs.  Finally,
80 a few other features have been added and a few more functions have been
81 bound to keys.
82
83 * Menu:
84
85 * Features::
86 * Technical Details::
87
88 
89 File: dired-x,  Node: Features,  Next: Technical Details,  Up: Introduction
90
91 Features
92 ========
93
94    Some features provided by Dired Extra
95
96   1. Omitting uninteresting files from Dired listing.
97           *Note Omitting Files in Dired::.
98
99   2. Local variables for Dired directories.
100           *Note Local Variables::.
101
102   3. Guessing shell commands in Dired buffers.
103           *Note Shell Command Guessing::.
104
105   4. Running Dired command in non-Dired buffers.
106           *Note Virtual Dired::.
107
108   5. Finding a file mentioned in a buffer
109           *Note Find File At Point::.
110
111   6. Commands using file marking.
112           *Note Advanced Mark Commands::.
113
114 `dired-x.el' binds some functions to keys in Dired Mode (*note Key
115 Index::) and also binds `C-x C-j' and `C-x 4 C-j' _globally_ to
116 `dired-jump' (*note Miscellaneous Commands::).  It may also bind `C-x
117 C-f' and `C-x 4 C-f' to `dired-x-find-file' and
118 `dired-x-find-file-other-window', respectively (*note Find File At
119 Point::).
120
121 
122 File: dired-x,  Node: Technical Details,  Prev: Features,  Up: Introduction
123
124 Technical Details
125 =================
126
127    When loaded this code _redefines_ the following functions of GNU
128 Emacs from `dired.el'
129
130    * `dired-clean-up-after-deletion'
131
132    * `dired-find-buffer-nocreate'
133
134    * `dired-initial-position'
135
136    * `dired-up-directory'
137
138 and the following functions from `dired-aux.el'
139
140    * `dired-add-entry'
141
142    * `dired-read-shell-command'
143
144 
145 File: dired-x,  Node: Installation,  Next: Omitting Files in Dired,  Prev: Introduction,  Up: Top
146
147 Installation
148 ************
149
150 This manual describes the Dired features provided by the file
151 `dired-x.el'.  To take advantage of these features, you must load the
152 file and (optionally) set some variables.
153
154 In your `.emacs' file in your home directory, or in the system-wide
155 initialization file `default.el' in the `site-lisp' directory, put
156
157      (add-hook 'dired-load-hook
158                (lambda ()
159                  (load "dired-x")
160                  ;; Set dired-x global variables here.  For example:
161                  ;; (setq dired-guess-shell-gnutar "gtar")
162                  ;; (setq dired-x-hands-off-my-keys nil)
163                  ))
164      (add-hook 'dired-mode-hook
165                (lambda ()
166                  ;; Set dired-x buffer-local variables here.  For example:
167                  ;; (setq dired-omit-files-p t)
168                  ))
169
170 This will load `dired-x.el' when Dired is first invoked (for example,
171 when you first type `C-x d').
172
173 * Menu:
174
175 * Optional Installation Dired Jump::
176 * Optional Installation File At Point::
177
178 
179 File: dired-x,  Node: Optional Installation Dired Jump,  Next: Optional Installation File At Point,  Up: Installation
180
181 Optional Installation Dired Jump
182 ================================
183
184    In order to have `dired-jump' and `dired-jump-other-window' (*note
185 Miscellaneous Commands::) work _before_ `dired' and `dired-x' have been
186 properly loaded the user should set-up an autoload for these functions.
187 In your `.emacs' file put
188
189      ;;; Autoload `dired-jump' and `dired-jump-other-window'.
190      ;;; We autoload from FILE dired.el.  This will then load dired-x.el
191      ;;; and hence define `dired-jump' and `dired-jump-other-window'.
192      (define-key global-map "\C-x\C-j" 'dired-jump)
193      (define-key global-map "\C-x4\C-j" 'dired-jump-other-window)
194      
195      (autoload (quote dired-jump) "dired" "\
196      Jump to Dired buffer corresponding to current buffer.
197      If in a file, Dired the current directory and move to file's line.
198      If in Dired already, pop up a level and goto old directory's line.
199      In case the proper Dired file line cannot be found, refresh the Dired
200      buffer and try again." t nil)
201      
202      (autoload (quote dired-jump-other-window) "dired" "\
203      Like \\[dired-jump] (dired-jump) but in other window." t nil)
204
205    Note that in recent releases of GNU Emacs 19 (i.e., 19.25 or later)
206 the file `../lisp/loaddefs.el' of the Emacs distribution already
207 contains the proper auto-loading for `dired-jump' so you need only put
208
209      (define-key global-map "\C-x\C-j" 'dired-jump)
210
211 in your `.emacs' file in order to have `C-x C-j' work before `dired' is
212 loaded.
213
214 
215 File: dired-x,  Node: Optional Installation File At Point,  Prev: Optional Installation Dired Jump,  Up: Installation
216
217 Optional Installation File At Point
218 ===================================
219
220    If you choose to have `dired-x.el' bind `dired-x-find-file' over
221 `find-file' (*note Find File At Point::), then you will need to set
222 `dired-x-hands-off-my-keys' and make a call to the function
223 `dired-x-bind-find-file' in the `dired-load-hook':
224
225      (add-hook 'dired-load-hook
226                (lambda ()
227                  (load "dired-x")
228                  ;; Bind dired-x-find-file.
229                  (setq dired-x-hands-off-my-keys nil)
230                  ;; Make sure our binding preference is invoked.
231                  (dired-x-bind-find-file)
232                  ))
233
234    Alternatively, you can set the variable _before_ `dired-x.el' is
235 loaded
236
237      (add-hook 'dired-load-hook
238                (lambda ()
239                  ;; Bind dired-x-find-file.
240                  (setq dired-x-hands-off-my-keys nil)
241                  (load "dired-x")
242                  ))
243
244 
245 File: dired-x,  Node: Omitting Files in Dired,  Next: Local Variables,  Prev: Installation,  Up: Top
246
247 Omitting Files in Dired
248 ***********************
249
250    "Omitting" a file means removing it from the directory listing.
251 Omitting is useful for keeping Dired buffers free of "uninteresting"
252 files (for instance, auto-save, auxiliary, backup, and revision control
253 files) so that the user can concentrate on the interesting files.  Like
254 hidden files, omitted files are never seen by Dired.  Omitting differs
255 from hiding in several respects:
256
257    * Omitting works on individual files, not on directories; an entire
258      directory cannot be omitted (though each of its files could be).
259
260    * Omitting is wholesale; if omitting is turned on for a Dired
261      buffer, then all uninteresting files listed in that buffer are
262      omitted.  The user does not omit (or unomit) files one at a time.
263
264    * Omitting can be automatic; uninteresting file lines in the buffer
265      can be removed before the user ever sees them.
266
267    * Marked files are never omitted.
268
269 `M-o'
270      (`dired-omit-toggle') Toggle between displaying and omitting
271      "uninteresting" files.  With a prefix argument, just mark the
272      files, but don't actually omit them.
273
274 In order to make Dired Omit work you first need to load `dired-x.el'
275 inside `dired-load-hook' (*note Installation::) and then set
276 `dired-omit-files-p' in some way (*note Omitting Variables::).
277
278 * Menu:
279
280 * Omitting Variables::
281 * Omitting Examples::
282 * Omitting Technical::
283
284 
285 File: dired-x,  Node: Omitting Variables,  Next: Omitting Examples,  Up: Omitting Files in Dired
286
287 Omitting Variables
288 ==================
289
290    The following variables can be used to customize omitting.
291
292 `dired-omit-files-p'
293      Default: `nil'
294
295      If non-`nil', "uninteresting" files are not listed.  Uninteresting
296      files are those whose files whose names match regexp
297      `dired-omit-files', plus those ending with extensions in
298      `dired-omit-extensions'.  `M-o' (`dired-omit-toggle') toggles its
299      value, which is buffer-local.  Put
300
301           (setq dired-omit-files-p t)
302
303      inside your `dired-mode-hook' to have omitting initially turned on
304      in _every_ Dired buffer (*note Installation::).  You can then use
305      `M-o' to unomit in that buffer.
306
307      To enable omitting automatically only in certain directories one
308      can use Dired Local Variables and put
309
310           Local Variables:
311           dired-omit-files-p: t
312           End:
313
314      into a file `.dired' (the default value of
315      `dired-local-variables-file') in that directory (*note Local
316      Variables::).
317
318     `dired-omit-here-always'
319           This is an interactive function that creates a local
320           variables file exactly like the example above (if it does not
321           already exist) in the file `dired-local-variables-file' in
322           the current directory and then refreshes the directory
323           listing (*note Local Variables::).
324
325 `dired-omit-files'
326      Default: `"^#\\|\\.$"'
327
328      Files whose names match this buffer-local regexp will not be
329      displayed.  This only has effect when `dired-omit-files-p''s value
330      is `t'.
331
332      The default value omits the special directories `.' and `..'  and
333      autosave files (plus other files ending in `.') (*note Omitting
334      Examples::).
335
336 `dired-omit-extensions'
337      Default: The elements of `completion-ignored-extensions',
338      `dired-latex-unclean-extensions', `dired-bibtex-unclean-extensions'
339      and `dired-texinfo-unclean-extensions'.
340
341      If non-`nil', a list of extensions (strings) to omit from Dired
342      listings.  Its format is the same as that of
343      `completion-ignored-extensions'.
344
345 `dired-omit-localp'
346      Default:  `no-dir'
347
348      The LOCALP argument `dired-omit-expunge' passes to
349      `dired-get-filename'.  If it is `no-dir', omitting is much faster,
350      but you can only match against the non-directory part of the file
351      name.  Set it to `nil' if you need to match the whole file name or
352      `t' to match the file name relative to the buffer's top-level
353      directory.
354
355 `dired-omit-marker-char'
356      Default: `C-o'
357
358      Temporary marker used by Dired to implement omitting.  Should
359      never be used as marker by the user or other packages.  There is
360      one exception to this rule: by adding
361
362           (setq dired-mark-keys "\C-o")
363           ;; i.e., the value of dired-omit-marker-char
364           ;; (which is not defined yet)
365
366      to your `~/.emacs', you can bind the `C-o' key to insert a `C-o'
367      marker, thus causing these files to be omitted in addition to the
368      usually omitted files.  Unfortunately the files you omitted
369      manually this way will show up again after reverting the buffer,
370      unlike the others.
371
372 
373 File: dired-x,  Node: Omitting Examples,  Next: Omitting Technical,  Prev: Omitting Variables,  Up: Omitting Files in Dired
374
375 Examples of Omitting Various File Types
376 =======================================
377
378    * If you wish to avoid seeing RCS files and the `RCS' directory,
379      then put
380
381           (setq dired-omit-files
382                 (concat dired-omit-files "\\|^RCS$\\|,v$"))
383
384      in the `dired-load-hook' (*note Installation::).  This assumes
385      `dired-omit-localp' has its default value of `no-dir' to make the
386      `^'-anchored matches work.  As a slower alternative, with
387      `dired-omit-localp' set to `nil', you can use `/' instead of `^'
388      in the regexp.
389
390    * If you use `tib', the bibliography program for use with TeX and
391      LaTeX, and you want to omit the `INDEX' and the `*-t.tex' files,
392      then put
393
394           (setq dired-omit-files
395                 (concat dired-omit-files "\\|^INDEX$\\|-t\\.tex$"))
396
397      in the `dired-load-hook' (*note Installation::).
398
399    * If you do not wish to see `dot' files (files starting with a `.'),
400      then put
401
402           (setq dired-omit-files
403                 (concat dired-omit-files "\\|^\\..+$"))
404
405      in the `dired-load-hook' (*note Installation::).
406
407
408 
409 File: dired-x,  Node: Omitting Technical,  Prev: Omitting Examples,  Up: Omitting Files in Dired
410
411 Some Technical Details of Omitting
412 ==================================
413
414    Loading `dired-x.el' will install Dired Omit by putting
415 `dired-omit-expunge' on your `dired-after-readin-hook', and will call
416 `dired-extra-startup', which in turn calls `dired-omit-startup' in your
417 `dired-mode-hook'.
418
419 
420 File: dired-x,  Node: Local Variables,  Next: Shell Command Guessing,  Prev: Omitting Files in Dired,  Up: Top
421
422 Local Variables for Dired Directories
423 *************************************
424
425 When Dired visits a directory, it looks for a file whose name is the
426 value of variable `dired-local-variables-file' (default: `.dired').  If
427 such a file is found, Dired will temporarily insert it into the Dired
428 buffer and run `hack-local-variables'.
429
430 For example, if the user puts
431
432      Local Variables:
433      dired-actual-switches: "-lat"
434      dired-omit-files-p: t
435      End:
436
437 into a file called `.dired' in a directory then when that directory is
438 viewed it will be
439
440   1. sorted by date
441
442   2. omitted automatically
443
444 You can set `dired-local-variables-file' to `nil' to suppress this.
445 The value of `dired-enable-local-variables' controls if and how these
446 local variables are read.  This variable exists so that if may override
447 the default value of `enable-local-variables'.
448
449 Please see the GNU Emacs Manual to learn more about local variables.
450 *Note Local Variables in Files: (emacs)File Variables.
451
452 The following variables affect Dired Local Variables
453
454 `dired-local-variables-file'
455      Default: `".dired"'
456
457      If non-`nil', file name for local variables for Dired.  If Dired
458      finds a file with that name in the current directory, it will
459      temporarily insert it into the Dired buffer and run
460      `hack-local-variables'.
461
462 `dired-enable-local-variables'
463      Default: `t'
464
465      Controls the use of local-variables lists in Dired.  The value can
466      be `t', `nil', or something else.  A value of `t' means
467      local-variables lists are obeyed in the
468      `dired-local-variables-file'; `nil' means they are ignored;
469      anything else means query.  This variable temporarily overrides
470      the value of `enable-local-variables' when the Dired Local
471      Variables are hacked.
472
473 
474 File: dired-x,  Node: Shell Command Guessing,  Next: Virtual Dired,  Prev: Local Variables,  Up: Top
475
476 Shell Command Guessing
477 **********************
478
479    Based upon the name of a file, Dired tries to guess what shell
480 command you might want to apply to it.  For example, if you have point
481 on a file named `foo.tar' and you press `!', Dired will guess you want
482 to `tar xvf' it and suggest that as the default shell command.
483
484    The default is mentioned in brackets and you can type `M-p' to get
485 the default into the minibuffer and then edit it, e.g., to change `tar
486 xvf' to `tar tvf'.  If there are several commands for a given file,
487 e.g., `xtex' and `dvips' for a `.dvi' file, you can type `M-p' several
488 times to see each of the matching commands.
489
490    Dired only tries to guess a command for a single file, never for a
491 list of marked files.
492
493 `dired-guess-shell-alist-default'
494      Predefined rules for shell commands.  Set this to `nil' to turn
495      guessing off.  The elements of `dired-guess-shell-alist-user'
496      (defined by the user) will override these rules.
497
498 `dired-guess-shell-alist-user'
499      If non-`nil', a user-defined alist of file regexps and their
500      suggested commands.  These rules take precedence over the
501      predefined rules in the variable `dired-guess-shell-alist-default'
502      (to which they are prepended) when `dired-do-shell-command' is
503      run).
504
505      Each element of the alist looks like
506
507           (REGEXP COMMAND...)
508
509      where each COMMAND can either be a string or a lisp expression
510      that evaluates to a string.  If several commands are given, all of
511      them will temporarily be pushed onto the history.
512
513      You can set this variable in your `~/.emacs'.  For example, to add
514      rules for `.foo' and `.bar' file extensions, write
515
516           (setq dired-guess-shell-alist-user
517                 (list
518                  (list "\\.foo$" "FOO-COMMAND");; fixed rule
519                  ;; possibly more rules...
520                  (list "\\.bar$";; rule with condition test
521                         '(if CONDITION
522                              "BAR-COMMAND-1"
523                            "BAR-COMMAND-2"))))
524
525      This will override any predefined rules for the same extensions.
526
527 `dired-guess-shell-gnutar'
528      Default: `nil'
529
530      If non-`nil', this is the name of the GNU Tar executable (e.g.,
531      `tar' or `gnutar').  GNU Tar's `z' switch is used for compressed
532      tar files.  If you don't have GNU tar, set this to `nil': a pipe
533      using `zcat' is then used.
534
535 `dired-guess-shell-gzip-quiet'
536      Default: `t'
537
538      A non-`nil' value means that `-q' is passed to `gzip' overriding a
539      verbose option in the `GZIP' environment variable.
540
541 `dired-guess-shell-znew-switches nil'
542      Default: `nil'
543
544      A string of switches passed to `znew'.  An example is `-K' which
545      will make `znew' keep a `.Z' file when it is smaller than the
546      `.gz' file.
547
548 `dired-shell-command-history nil'
549      History list for commands that read dired-shell commands.
550
551 
552 File: dired-x,  Node: Virtual Dired,  Next: Advanced Mark Commands,  Prev: Shell Command Guessing,  Up: Top
553
554 Virtual Dired
555 *************
556
557    Using "Virtual Dired" means putting a buffer with Dired-like
558 contents in Dired mode.  The files described by the buffer contents need
559 not actually exist.  This is useful if you want to peruse an `ls -lR'
560 output file, for example one you got from an FTP server.  You can use
561 all motion commands usually available in Dired.  You can also use it to
562 save a Dired buffer in a file and resume it in a later session.
563
564    Type `M-x dired-virtual' to put the current buffer into virtual
565 Dired mode.  You will be prompted for the top level directory of this
566 buffer, with a default value guessed from the buffer contents.  To
567 convert the virtual to a real Dired buffer again, type `g' (which calls
568 `dired-virtual-revert') in the virtual Dired buffer and answer `y'.
569 You don't have to do this, though: you can relist single subdirectories
570 using `l' (`dired-do-redisplay') on the subdirectory headerline,
571 leaving the buffer in virtual Dired mode all the time.
572
573    The function `dired-virtual-mode' is specially designed to turn on
574 virtual Dired mode from the `auto-mode-alist'.  To edit all `*.dired'
575 files automatically in virtual Dired mode, put this into your
576 `~/.emacs':
577
578      (setq auto-mode-alist (cons '("[^/]\\.dired$" . dired-virtual-mode)
579                                    auto-mode-alist))
580
581 The regexp is a bit more complicated than usual to exclude `.dired'
582 local-variable files.
583
584 
585 File: dired-x,  Node: Advanced Mark Commands,  Next: Multiple Dired Directories,  Prev: Virtual Dired,  Up: Top
586
587 Advanced Mark Commands
588 **********************
589
590 `F'
591      (`dired-do-find-marked-files') Find all marked files at once
592      displaying them simultaneously.  If optional NOSELECT is non-`nil'
593      then just find the files but do not select.  If you want to keep
594      the Dired buffer displayed, type `C-x 2' first.  If you want just
595      the marked files displayed and nothing else, type `C-x 1' first.
596
597      The current window is split across all files marked, as evenly as
598      possible.  Remaining lines go to the bottom-most window.  The
599      number of files that can be displayed this way is restricted by
600      the height of the current window and the variable
601      `window-min-height'.
602
603 `dired-mark-extension'
604      Mark all files with a certain extension for use in later commands.
605      A `.' is not automatically prepended to the string entered, you
606      must type it explicitly.
607
608      When called from Lisp, EXTENSION may also be a list of extensions
609      and an optional argument MARKER-CHAR specifies the marker used.
610
611 `dired-flag-extension'
612      Flag all files with a certain extension for deletion.  A `.' is
613      _not_ automatically prepended to the string entered.
614
615 * Menu:
616
617 * Advanced Cleaning Functions::
618 * Advanced Cleaning Variables::
619 * Special Marking Function::
620
621 
622 File: dired-x,  Node: Advanced Cleaning Functions,  Next: Advanced Cleaning Variables,  Up: Advanced Mark Commands
623
624 Advanced Cleaning Functions
625 ===========================
626
627 `dired-clean-patch'
628      Flag dispensable files created by the `patch' program for
629      deletion.  See variable `dired-patch-unclean-extensions'.
630
631 `dired-clean-tex'
632      Flag dispensable files created by TeX, LaTeX, and `texinfo' for
633      deletion.  See the following variables (*note Advanced Cleaning
634      Variables::):
635
636         * `dired-tex-unclean-extensions'
637
638         * `dired-texinfo-unclean-extensions'
639
640         * `dired-latex-unclean-extensions'
641
642         * `dired-bibtex-unclean-extensions'
643
644 `dired-very-clean-tex'
645      Flag dispensable files created by TeX, LaTeX, `texinfo', and
646      `*.dvi' files for deletion.
647
648 
649 File: dired-x,  Node: Advanced Cleaning Variables,  Next: Special Marking Function,  Prev: Advanced Cleaning Functions,  Up: Advanced Mark Commands
650
651 Advanced Cleaning Variables
652 ===========================
653
654 Variables used by the above cleaning commands (and in the default value
655 for variable `dired-omit-extensions', *note Omitting Variables::)
656
657 `dired-patch-unclean-extensions'
658      Default: `(".rej" ".orig")'
659
660      List of extensions of dispensable files created by the `patch'
661      program.
662
663 `dired-tex-unclean-extensions'
664      Default:  `(".toc" ".log" ".aux")'
665
666      List of extensions of dispensable files created by TeX.
667
668 `dired-texinfo-unclean-extensions'
669      Default: `(".cp" ".cps" ".fn" ".fns" ".ky" ".kys"' `".pg" ".pgs"
670      ".tp" ".tps" ".vr" ".vrs")'
671
672      List of extensions of dispensable files created by `texinfo'.
673
674 `dired-latex-unclean-extensions'
675      Default: `(".idx" ".lof" ".lot" ".glo")'
676
677      List of extensions of dispensable files created by LaTeX.
678
679 `dired-bibtex-unclean-extensions'
680      Default:  `(".blg" ".bbl")'
681
682      List of extensions of dispensable files created by BibTeX.
683
684 
685 File: dired-x,  Node: Special Marking Function,  Prev: Advanced Cleaning Variables,  Up: Advanced Mark Commands
686
687 Special Marking Function
688 ========================
689
690 `M-('
691      (`dired-mark-sexp') Mark files for which PREDICATE returns
692      non-`nil'.  With a prefix argument, unflag those files instead.
693
694      The PREDICATE is a lisp expression that can refer to the following
695      symbols:
696     `inode'
697           [integer] the inode of the file (only for `ls -i' output)
698
699     `s'
700           [integer] the size of the file for `ls -s' output (usually in
701           blocks or, with `-k', in KBytes)
702
703     `mode'
704           [string]  file permission bits, e.g., `-rw-r--r--'
705
706     `nlink'
707           [integer] number of links to file
708
709     `uid'
710           [string]  owner
711
712     `gid'
713           [string]  group  (If the gid is not displayed by `ls', this
714           will still be set (to the same as uid))
715
716     `size'
717           [integer] file size in bytes
718
719     `time'
720           [string]  the time that `ls' displays, e.g., `Feb 12 14:17'
721
722     `name'
723           [string]  the name of the file
724
725     `sym'
726           [string]  if file is a symbolic link, the linked-to name,
727           else `""'
728
729      For example, use
730           (equal 0 size)
731      to mark all zero length files.
732
733      To find out all not yet compiled Emacs lisp files in a directory,
734      Dired all `.el' files in the lisp directory using the wildcard
735      `*.el'.  Then use `M-(' with
736           (not (file-exists-p (concat name "c")))
737      to mark all `.el' files without a corresponding `.elc' file.
738
739 
740 File: dired-x,  Node: Multiple Dired Directories,  Next: Find File At Point,  Prev: Advanced Mark Commands,  Up: Top
741
742 Multiple Dired Directories and Non-Dired Commands
743 *************************************************
744
745    An Emacs buffer can have but one working directory, stored in the
746 buffer-local variable `default-directory'.  A Dired buffer may have
747 several subdirectories inserted, but it still has only one working
748 directory: that of the top-level Dired directory in that buffer.  For
749 some commands it is appropriate that they use the current Dired
750 directory instead of `default-directory', e.g., `find-file' and
751 `compile'.
752
753    A general mechanism is provided for special handling of the working
754 directory in special major modes:
755
756 `default-directory-alist'
757      Default: `((dired-mode . (dired-current-directory)))'
758
759      Alist of major modes and their notion of `default-directory', as a
760      lisp expression to evaluate.  A resulting value of `nil' is ignored
761      in favor of `default-directory'.
762
763 `default-directory'
764      Function with usage like variable `default-directory', but knows
765      about the special cases in variable `default-directory-alist'.
766
767 
768 File: dired-x,  Node: Find File At Point,  Next: Miscellaneous Commands,  Prev: Multiple Dired Directories,  Up: Top
769
770 Find File At Point
771 ==================
772
773    `dired-x' provides a method of visiting or editing a file mentioned
774 in the buffer you are viewing (e.g., a mail buffer, a news article, a
775 `README' file, etc.) or to test if that file exists.  You can then
776 modify this in the minibuffer after snatching the file name.
777
778    When installed `dired-x' will substitute `dired-x-find-file' for
779 `find-file' (normally bound to `C-x C-f') and
780 `dired-x-find-file-other-window' for `find-file-other-window' (normally
781 bound to `C-x 4 C-f').
782
783    In order to use this feature, you will need to set
784 `dired-x-hands-off-my-keys' to `nil' inside `dired-load-hook' (*note
785 Optional Installation File At Point::).
786
787 `dired-x-find-file'
788      `dired-x-find-file' behaves exactly like `find-file' (normally
789      bound to `C-x C-f') unless a prefix argument is passed to the
790      function in which case it will use the file name at point as a
791      guess for the file to visit.
792
793      For example, if the buffer you were reading contained the words
794
795           Available via anonymous ftp in
796          
797              /roebling.poly.edu:/pub/lisp/crypt++.el.gz
798
799      then you could move your cursor to the line containing the ftp
800      address and type `C-u C-x C-f' (the `C-u' is a universal
801      argument).  The minibuffer would read
802
803           Find file: /roebling.poly.edu:/pub/lisp/crypt++.el.gz
804
805      with the point after the last `/'.  If you hit <RET>, emacs will
806      visit the file at that address.  This also works with files on
807      your own computer.
808
809 `dired-x-find-file-other-window'
810      `dired-x-find-file-other-window' behaves exactly like
811      `find-file-other-window' (normally bound to `C-x 4 C-f') unless a
812      prefix argument is used.  See `dired-x-find-file' for more
813      information.
814
815 `dired-x-hands-off-my-keys'
816      If set to `t', then it means that `dired-x' should _not_ bind
817      `dired-x-find-file' over `find-file' on keyboard.  Similarly, it
818      should not bind `dired-x-find-file-other-window' over
819      `find-file-other-window'.  If you change this variable after
820      `dired-x.el' is loaded then do `M-x dired-x-bind-find-file'.  The
821      default value of this variable is `t'; by default, the binding is
822      not done.  See *Note Optional Installation File At Point::.
823
824 `dired-x-bind-find-file'
825      A function, which can be called interactively or in your
826      `~/.emacs' file, that uses the value of
827      `dired-x-hands-off-my-keys' to determine if `dired-x-find-file'
828      should be bound over `find-file' and
829      `dired-x-find-file-other-window' bound over
830      `find-file-other-window'.  See *Note Optional Installation File At
831      Point::.
832
833 
834 File: dired-x,  Node: Miscellaneous Commands,  Next: Bugs,  Prev: Find File At Point,  Up: Top
835
836 Miscellaneous Commands
837 **********************
838
839    Miscellaneous features not fitting anywhere else:
840
841 `dired-find-subdir'
842      Default: `nil'
843
844      If non-`nil', Dired does not make a new buffer for a directory if
845      it can be found (perhaps as subdirectory) in some existing Dired
846      buffer.
847
848      If there are several Dired buffers for a directory, the most
849      recently used is chosen.
850
851      Dired avoids switching to the current buffer, so that if you have a
852      normal and a wildcard buffer for the same directory, `C-x d RET'
853      will toggle between those two.
854
855 `M-g'
856      (`dired-goto-file') Go to the line of a file (or directory).
857
858 `M-G'
859      (`dired-goto-subdir') Go to the header line of an inserted
860      directory.  This command reads its argument, with completion
861      derived from the names of the inserted subdirectories.
862
863 `w'
864      (`dired-copy-filename-as-kill') The `w' command puts the names of
865      the marked (or next N) files into the kill ring, as if you had
866      killed them with `C-w'.  With a zero prefix argument N=0, use the
867      complete pathname of each file.  With a raw (just `C-u') prefix
868      argument, use the relative pathname of each marked file.  As a
869      special case, if no prefix argument is given and point is on a
870      directory headerline, it gives you the name of that directory,
871      without looking for marked files.
872
873      The list of names is also stored onto the variable
874      `dired-marked-files' for use, e.g., in the `M-:'
875      (`eval-expression') command.
876
877      As this command also displays what was pushed onto the kill ring,
878      you can use it to display the list of currently marked files in the
879      echo area (unless you happen to be on a subdirectory headerline).
880
881      You can then feed the file name to other Emacs commands with `C-y'.
882      For example, say you want to rename a file with a long name to a
883      slightly different name.  First type `w' to push the old name onto
884      the kill ring.  Then type `R' to rename it and use `C-y' inside
885      `R''s minibuffer prompt to insert the old name at a convenient
886      place.
887
888 `T'
889      (`dired-do-toggle') Toggle marks.  That is, currently marked files
890      become unmarked and vice versa.  Files marked with other flags
891      (such as `D') are not affected.  The special directories `.' and
892      `..' are never toggled.
893
894 `dired-smart-shell-command'
895      Like function `shell-command', but in the current Dired directory.
896      Bound to `M-!' in Dired buffers.
897
898 `dired-jump'
899      Bound to `C-x C-j'.  Jump back to Dired: If in a file, edit the
900      current directory and move to file's line.  If in Dired already,
901      pop up a level and go to old directory's line.  In case the proper
902      Dired file line cannot be found, refresh the Dired buffer and try
903      again.
904
905 `dired-jump-other-window'
906      Bound to `C-x 4 C-j'. Like `dired-jump', but to other window.
907
908      These functions can be autoloaded so they work even though
909      `dired-x.el' has not been loaded yet (*note Optional Installation
910      Dired Jump::).
911
912      If the variable `dired-bind-jump' is `nil', `dired-jump' will not
913      be bound to `C-x C-j' and `dired-jump-other-window' will not be
914      bound to `C-x 4 C-j'.
915
916 `dired-vm'
917      Bound to `V' if `dired-bind-vm' is t.  Run VM on this file (assumed
918      to be a UNIX mail folder).
919
920      If you give this command a prefix argument, it will visit the
921      folder read-only.  This only works in VM 5, not VM 4.
922
923      If the variable `dired-vm-read-only-folders' is `t', `dired-vm'
924      will visit all folders read-only.  If it is neither `nil' nor `t',
925      e.g., the symbol `if-file-read-only', only files not writable by
926      you are visited read-only.  This is the recommended value if you
927      run VM 5.
928
929      If the variable `dired-bind-vm' is t, `dired-vm' will be bound to
930      `V'.  Otherwise, `dired-bind-rmail' will be bound.
931
932 `dired-rmail'
933      Bound to `V' if `dired-bind-vm' is `nil'.  Run Rmail on this file
934      (assumed to be mail folder in Rmail/BABYL format).
935
936 `dired-info'
937      Bound to `I'.  Run Info on this file (assumed to be a file in Info
938      format).
939
940      If the variable `dired-bind-info' is `nil', `dired-info' will not
941      be bound to `I'.
942
943 `dired-man'
944      Bound to `N'.  Run man on this file (assumed to be a file in
945      `nroff' format).
946
947      If the variable `dired-bind-man' is `nil', `dired-man' will not be
948      bound to `N'.
949
950 `dired-do-relative-symlink'
951      Bound to `Y'.  Relative symlink all marked (or next ARG) files
952      into a directory, or make a relative symbolic link to the current
953      file.  This creates relative symbolic links like
954
955               foo -> ../bar/foo
956
957      not absolute ones like
958
959               foo -> /ugly/path/that/may/change/any/day/bar/foo
960
961 `dired-do-relative-symlink-regexp'
962      Bound to `%Y'.  Relative symlink all marked files containing
963      REGEXP to NEWNAME.  See functions `dired-do-rename-regexp' and
964      `dired-do-relsymlink' for more info.
965
966 
967 File: dired-x,  Node: Bugs,  Next: Concept Index,  Prev: Miscellaneous Commands,  Up: Top
968
969 Bugs
970 ****
971
972 If you encounter a bug in this package, wish to suggest an enhancement,
973 or want to make a smart remark, then type
974
975      M-x dired-x-submit-report
976
977 to set up an outgoing mail buffer, with the proper address to the
978 `dired-x.el' maintainer automatically inserted in the `To:' field.
979 This command also inserts information that the Dired X maintainer can
980 use to recreate your exact setup, making it easier to verify your bug
981 or social maladjustment.
982
983    Lawrence R. Dodd
984
985 
986 File: dired-x,  Node: Concept Index,  Next: Command Index,  Prev: Bugs,  Up: Top
987
988 Concept Index
989 *************
990
991 * Menu:
992
993 * Adding to the kill ring in Dired.:     Miscellaneous Commands.
994 * Autoloading dired-jump and dired-jump-other-window: Optional Installation Dired Jump.
995 * Binding dired-x-find-file:             Optional Installation File At Point.
996 * Bugs:                                  Bugs.
997 * Customizing file omitting:             Omitting Variables.
998 * dired-aux.el:                          Technical Details.
999 * Dot files, how to omit them in Dired:  Omitting Examples.
1000 * Features:                              Features.
1001 * Finding a file at point:               Find File At Point.
1002 * Guessing shell commands for files.:    Shell Command Guessing.
1003 * gzip:                                  Shell Command Guessing.
1004 * How to make omitting the default in Dired: Omitting Variables.
1005 * Jumping to Dired listing containing file.: Miscellaneous Commands.
1006 * Lisp expression, marking files with in Dired: Special Marking Function.
1007 * Local Variables for Dired Directories: Local Variables.
1008 * ls listings, how to peruse them in Dired: Virtual Dired.
1009 * Mark file by lisp expression:          Special Marking Function.
1010 * Multiple Dired directories:            Multiple Dired Directories.
1011 * Omitting additional files:             Omitting Variables.
1012 * Omitting dot files in Dired:           Omitting Examples.
1013 * Omitting Files in Dired:               Omitting Files in Dired.
1014 * Omitting RCS files in Dired:           Omitting Examples.
1015 * Omitting tib files in Dired:           Omitting Examples.
1016 * Passing GNU Tar its z switch.:         Shell Command Guessing.
1017 * Perusing ls listings:                  Virtual Dired.
1018 * RCS files, how to omit them in Dired:  Omitting Examples.
1019 * Reading mail.:                         Miscellaneous Commands.
1020 * Redefined functions:                   Technical Details.
1021 * Relative symbolic links.:              Miscellaneous Commands.
1022 * Running info.:                         Miscellaneous Commands.
1023 * Running man.:                          Miscellaneous Commands.
1024 * Simultaneous visiting of several files: Advanced Mark Commands.
1025 * Tib files, how to omit them in Dired:  Omitting Examples.
1026 * Toggling marks.:                       Miscellaneous Commands.
1027 * Uninteresting files:                   Omitting Files in Dired.
1028 * Virtual Dired:                         Virtual Dired.
1029 * Visiting a file mentioned in a buffer: Find File At Point.
1030 * Visiting several files at once:        Advanced Mark Commands.
1031 * Working directory:                     Multiple Dired Directories.
1032 * znew:                                  Shell Command Guessing.
1033
1034 
1035 File: dired-x,  Node: Command Index,  Next: Key Index,  Prev: Concept Index,  Up: Top
1036
1037 Function Index
1038 **************
1039
1040 * Menu:
1041
1042 * default-directory:                     Multiple Dired Directories.
1043 * dired-clean-patch:                     Advanced Cleaning Functions.
1044 * dired-clean-tex:                       Advanced Cleaning Functions.
1045 * dired-copy-filename-as-kill:           Miscellaneous Commands.
1046 * dired-do-find-marked-files:            Advanced Mark Commands.
1047 * dired-do-relative-symlink:             Miscellaneous Commands.
1048 * dired-do-relative-symlink-regexp:      Miscellaneous Commands.
1049 * dired-do-toggle:                       Miscellaneous Commands.
1050 * dired-flag-extension:                  Advanced Mark Commands.
1051 * dired-goto-file:                       Miscellaneous Commands.
1052 * dired-goto-subdir:                     Miscellaneous Commands.
1053 * dired-info:                            Miscellaneous Commands.
1054 * dired-jump:                            Miscellaneous Commands.
1055 * dired-jump-other-window:               Miscellaneous Commands.
1056 * dired-man:                             Miscellaneous Commands.
1057 * dired-mark-extension:                  Advanced Mark Commands.
1058 * dired-mark-sexp:                       Special Marking Function.
1059 * dired-omit-here-always:                Omitting Variables.
1060 * dired-omit-toggle:                     Omitting Files in Dired.
1061 * dired-rmail:                           Miscellaneous Commands.
1062 * dired-smart-shell-command:             Miscellaneous Commands.
1063 * dired-very-clean-tex:                  Advanced Cleaning Functions.
1064 * dired-virtual:                         Virtual Dired.
1065 * dired-virtual-mode:                    Virtual Dired.
1066 * dired-virtual-revert:                  Virtual Dired.
1067 * dired-vm:                              Miscellaneous Commands.
1068 * dired-x-bind-find-file:                Find File At Point.
1069 * dired-x-find-file:                     Find File At Point.
1070 * dired-x-find-file-other-window:        Find File At Point.
1071 * dired-x-submit-report:                 Bugs.
1072 * shell-command:                         Miscellaneous Commands.
1073
1074 
1075 File: dired-x,  Node: Key Index,  Next: Variable Index,  Prev: Command Index,  Up: Top
1076
1077 Key Index
1078 *********
1079
1080 * Menu:
1081
1082 * %Y:                                    Miscellaneous Commands.
1083 * C-x 4 C-f:                             Find File At Point.
1084 * C-x 4 C-j:                             Miscellaneous Commands.
1085 * C-x C-f:                               Find File At Point.
1086 * C-x C-j:                               Miscellaneous Commands.
1087 * F:                                     Advanced Mark Commands.
1088 * g:                                     Virtual Dired.
1089 * I:                                     Miscellaneous Commands.
1090 * M-!:                                   Miscellaneous Commands.
1091 * M-(:                                   Special Marking Function.
1092 * M-G:                                   Miscellaneous Commands.
1093 * M-g:                                   Miscellaneous Commands.
1094 * M-o:                                   Omitting Files in Dired.
1095 * N:                                     Miscellaneous Commands.
1096 * T:                                     Miscellaneous Commands.
1097 * V:                                     Miscellaneous Commands.
1098 * w:                                     Miscellaneous Commands.
1099 * Y:                                     Miscellaneous Commands.
1100
1101 
1102 File: dired-x,  Node: Variable Index,  Prev: Key Index,  Up: Top
1103
1104 Variable Index
1105 **************
1106
1107 * Menu:
1108
1109 * auto-mode-alist:                       Virtual Dired.
1110 * default-directory-alist:               Multiple Dired Directories.
1111 * dired-bibtex-unclean-extensions:       Advanced Cleaning Variables.
1112 * dired-bind-info:                       Miscellaneous Commands.
1113 * dired-bind-jump:                       Miscellaneous Commands.
1114 * dired-bind-man:                        Miscellaneous Commands.
1115 * dired-bind-vm:                         Miscellaneous Commands.
1116 * dired-enable-local-variables:          Local Variables.
1117 * dired-find-subdir:                     Miscellaneous Commands.
1118 * dired-guess-shell-alist-default:       Shell Command Guessing.
1119 * dired-guess-shell-alist-user:          Shell Command Guessing.
1120 * dired-guess-shell-gnutar:              S