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