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