annotate man/dired.texi @ 45098:06120f91eb06

(eshell-modify-global-environment): Added this customization variable, which will cause any "export" commands within any eshell buffer to modify the global Emacs environment. It defaults to nil, which means that such commands will only modify that Eshell buffer's environment. (eshell-var-initialize): Initialize `eshell-modify-global-environment'.
author John Wiegley <johnw@newartisans.com>
date Fri, 03 May 2002 20:43:53 +0000
parents 729648fff079
children 09a72d736076
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1 @c This is part of the Emacs manual.
39287
3b40423b9355 Update the copyright years.
Eli Zaretskii <eliz@gnu.org>
parents: 38745
diff changeset
2 @c Copyright (C) 1985,86,87,93,94,95,97,2000,2001
28126
e7cf77f27506 Fix copyright line.
Dave Love <fx@gnu.org>
parents: 28041
diff changeset
3 @c Free Software Foundation, Inc.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
4 @c See file emacs.texi for copying conditions.
Dave Love <fx@gnu.org>
parents:
diff changeset
5 @node Dired, Calendar/Diary, Rmail, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
6 @chapter Dired, the Directory Editor
Dave Love <fx@gnu.org>
parents:
diff changeset
7 @cindex Dired
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
8 @cindex file management
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
9
Dave Love <fx@gnu.org>
parents:
diff changeset
10 Dired makes an Emacs buffer containing a listing of a directory, and
Dave Love <fx@gnu.org>
parents:
diff changeset
11 optionally some of its subdirectories as well. You can use the normal
Dave Love <fx@gnu.org>
parents:
diff changeset
12 Emacs commands to move around in this buffer, and special Dired commands
Dave Love <fx@gnu.org>
parents:
diff changeset
13 to operate on the files listed.
Dave Love <fx@gnu.org>
parents:
diff changeset
14
37993
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
15 The Dired buffer is ``read-only,'' and inserting text in it is not
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
16 useful, so ordinary printing characters such as @kbd{d} and @kbd{x} are
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
17 used for special Dired commands. Some Dired commands @dfn{mark} or
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
18 @dfn{flag} the @dfn{current file} (that is, the file on the current
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
19 line); other commands operate on the marked files or on the flagged
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
20 files.
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
21
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
22 The Dired-X package provides various extra features for Dired mode.
43109
0a2bf4c2c07c (Dired): Fix the xref to dired-x manual.
Eli Zaretskii <eliz@gnu.org>
parents: 40617
diff changeset
23 @xref{Top, Dired-X,,dired-x, Dired Extra Version 2 User's Manual}.
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
24
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
25 @menu
Dave Love <fx@gnu.org>
parents:
diff changeset
26 * Enter: Dired Enter. How to invoke Dired.
38745
5464ee1ba8e2 Minor cleanups.
Richard M. Stallman <rms@gnu.org>
parents: 38156
diff changeset
27 * Navigation: Dired Navigation. Special motion commands in the Dired buffer.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
28 * Deletion: Dired Deletion. Deleting files with Dired.
Dave Love <fx@gnu.org>
parents:
diff changeset
29 * Flagging Many Files:: Flagging files based on their names.
Dave Love <fx@gnu.org>
parents:
diff changeset
30 * Visit: Dired Visiting. Other file operations through Dired.
Dave Love <fx@gnu.org>
parents:
diff changeset
31 * Marks vs Flags:: Flagging for deletion vs marking.
Dave Love <fx@gnu.org>
parents:
diff changeset
32 * Operating on Files:: How to copy, rename, print, compress, etc.
Dave Love <fx@gnu.org>
parents:
diff changeset
33 either one file or several files.
Dave Love <fx@gnu.org>
parents:
diff changeset
34 * Shell Commands in Dired:: Running a shell command on the marked files.
Dave Love <fx@gnu.org>
parents:
diff changeset
35 * Transforming File Names:: Using patterns to rename multiple files.
Dave Love <fx@gnu.org>
parents:
diff changeset
36 * Comparison in Dired:: Running `diff' by way of Dired.
Dave Love <fx@gnu.org>
parents:
diff changeset
37 * Subdirectories in Dired:: Adding subdirectories to the Dired buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
38 * Subdirectory Motion:: Moving across subdirectories, and up and down.
Dave Love <fx@gnu.org>
parents:
diff changeset
39 * Hiding Subdirectories:: Making subdirectories visible or invisible.
Dave Love <fx@gnu.org>
parents:
diff changeset
40 * Updating: Dired Updating. Discarding lines for files of no interest.
Dave Love <fx@gnu.org>
parents:
diff changeset
41 * Find: Dired and Find. Using `find' to choose the files for Dired.
Dave Love <fx@gnu.org>
parents:
diff changeset
42 @end menu
Dave Love <fx@gnu.org>
parents:
diff changeset
43
Dave Love <fx@gnu.org>
parents:
diff changeset
44 @node Dired Enter
Dave Love <fx@gnu.org>
parents:
diff changeset
45 @section Entering Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
46
Dave Love <fx@gnu.org>
parents:
diff changeset
47 @findex dired
Dave Love <fx@gnu.org>
parents:
diff changeset
48 @kindex C-x d
Dave Love <fx@gnu.org>
parents:
diff changeset
49 @vindex dired-listing-switches
Dave Love <fx@gnu.org>
parents:
diff changeset
50 To invoke Dired, do @kbd{C-x d} or @kbd{M-x dired}. The command reads
Dave Love <fx@gnu.org>
parents:
diff changeset
51 a directory name or wildcard file name pattern as a minibuffer argument
Dave Love <fx@gnu.org>
parents:
diff changeset
52 to specify which files to list. Where @code{dired} differs from
Dave Love <fx@gnu.org>
parents:
diff changeset
53 @code{list-directory} is in putting the buffer into Dired mode so that
Dave Love <fx@gnu.org>
parents:
diff changeset
54 the special commands of Dired are available.
Dave Love <fx@gnu.org>
parents:
diff changeset
55
Dave Love <fx@gnu.org>
parents:
diff changeset
56 The variable @code{dired-listing-switches} specifies the options to
Dave Love <fx@gnu.org>
parents:
diff changeset
57 give to @code{ls} for listing directory; this string @emph{must} contain
Dave Love <fx@gnu.org>
parents:
diff changeset
58 @samp{-l}. If you use a numeric prefix argument with the @code{dired}
Dave Love <fx@gnu.org>
parents:
diff changeset
59 command, you can specify the @code{ls} switches with the minibuffer
Dave Love <fx@gnu.org>
parents:
diff changeset
60 before you enter the directory specification.
Dave Love <fx@gnu.org>
parents:
diff changeset
61
Dave Love <fx@gnu.org>
parents:
diff changeset
62 @findex dired-other-window
Dave Love <fx@gnu.org>
parents:
diff changeset
63 @kindex C-x 4 d
Dave Love <fx@gnu.org>
parents:
diff changeset
64 @findex dired-other-frame
Dave Love <fx@gnu.org>
parents:
diff changeset
65 @kindex C-x 5 d
Dave Love <fx@gnu.org>
parents:
diff changeset
66 To display the Dired buffer in another window rather than in the
Dave Love <fx@gnu.org>
parents:
diff changeset
67 selected window, use @kbd{C-x 4 d} (@code{dired-other-window}) instead
Dave Love <fx@gnu.org>
parents:
diff changeset
68 of @kbd{C-x d}. @kbd{C-x 5 d} (@code{dired-other-frame}) uses a
Dave Love <fx@gnu.org>
parents:
diff changeset
69 separate frame to display the Dired buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
70
37993
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
71 @node Dired Navigation
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
72 @section Navigation in the Dired Buffer
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
73
Dave Love <fx@gnu.org>
parents:
diff changeset
74 @kindex C-n @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
75 @kindex C-p @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
76 All the usual Emacs cursor motion commands are available in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
77 buffers. Some special-purpose cursor motion commands are also
Dave Love <fx@gnu.org>
parents:
diff changeset
78 provided. The keys @kbd{C-n} and @kbd{C-p} are redefined to put the
Dave Love <fx@gnu.org>
parents:
diff changeset
79 cursor at the beginning of the file name on the line, rather than at the
Dave Love <fx@gnu.org>
parents:
diff changeset
80 beginning of the line.
Dave Love <fx@gnu.org>
parents:
diff changeset
81
Dave Love <fx@gnu.org>
parents:
diff changeset
82 @kindex SPC @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
83 For extra convenience, @key{SPC} and @kbd{n} in Dired are equivalent
Dave Love <fx@gnu.org>
parents:
diff changeset
84 to @kbd{C-n}. @kbd{p} is equivalent to @kbd{C-p}. (Moving by lines is
Dave Love <fx@gnu.org>
parents:
diff changeset
85 so common in Dired that it deserves to be easy to type.) @key{DEL}
Dave Love <fx@gnu.org>
parents:
diff changeset
86 (move up and unflag) is often useful simply for moving up.
Dave Love <fx@gnu.org>
parents:
diff changeset
87
37993
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
88 Some additional navigation commands are available when the Dired
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
89 buffer includes several directories. @xref{Subdirectory Motion}.
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
90
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
91 @node Dired Deletion
Dave Love <fx@gnu.org>
parents:
diff changeset
92 @section Deleting Files with Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
93 @cindex flagging files (in Dired)
Dave Love <fx@gnu.org>
parents:
diff changeset
94 @cindex deleting files (in Dired)
Dave Love <fx@gnu.org>
parents:
diff changeset
95
38745
5464ee1ba8e2 Minor cleanups.
Richard M. Stallman <rms@gnu.org>
parents: 38156
diff changeset
96 One of the most frequent uses of Dired is to first @dfn{flag} files for
5464ee1ba8e2 Minor cleanups.
Richard M. Stallman <rms@gnu.org>
parents: 38156
diff changeset
97 deletion, then delete the files that were flagged.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
98
Dave Love <fx@gnu.org>
parents:
diff changeset
99 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
100 @item d
Dave Love <fx@gnu.org>
parents:
diff changeset
101 Flag this file for deletion.
Dave Love <fx@gnu.org>
parents:
diff changeset
102 @item u
Dave Love <fx@gnu.org>
parents:
diff changeset
103 Remove deletion flag on this line.
Dave Love <fx@gnu.org>
parents:
diff changeset
104 @item @key{DEL}
Dave Love <fx@gnu.org>
parents:
diff changeset
105 Move point to previous line and remove the deletion flag on that line.
Dave Love <fx@gnu.org>
parents:
diff changeset
106 @item x
Dave Love <fx@gnu.org>
parents:
diff changeset
107 Delete the files that are flagged for deletion.
Dave Love <fx@gnu.org>
parents:
diff changeset
108 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
109
Dave Love <fx@gnu.org>
parents:
diff changeset
110 @kindex d @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
111 @findex dired-flag-file-deletion
Dave Love <fx@gnu.org>
parents:
diff changeset
112 You can flag a file for deletion by moving to the line describing the
Dave Love <fx@gnu.org>
parents:
diff changeset
113 file and typing @kbd{d} (@code{dired-flag-file-deletion}). The deletion flag is visible as a @samp{D} at
Dave Love <fx@gnu.org>
parents:
diff changeset
114 the beginning of the line. This command moves point to the next line,
Dave Love <fx@gnu.org>
parents:
diff changeset
115 so that repeated @kbd{d} commands flag successive files. A numeric
Dave Love <fx@gnu.org>
parents:
diff changeset
116 argument serves as a repeat count.
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
117
40617
aeebb5c33587 (Dired Deletion, Operating On Files): Add index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 39287
diff changeset
118 @cindex recursive deletion
27222
e7bd44d5597b Recursive deletes, copies. dired-do-apply. `?' in shell command.
Dave Love <fx@gnu.org>
parents: 25829
diff changeset
119 @vindex dired-recursive-deletes
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
120 The variable @code{dired-recursive-deletes} controls whether the
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
121 delete command will delete non-empty directories (including their
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
122 contents). The default is to delete only empty directories.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
123
Dave Love <fx@gnu.org>
parents:
diff changeset
124 @kindex u @r{(Dired deletion)}
Dave Love <fx@gnu.org>
parents:
diff changeset
125 @kindex DEL @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
126 The files are flagged for deletion rather than deleted immediately to
Dave Love <fx@gnu.org>
parents:
diff changeset
127 reduce the danger of deleting a file accidentally. Until you direct
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
128 Dired to delete the flagged files, you can remove deletion flags using
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
129 the commands @kbd{u} and @key{DEL}. @kbd{u} (@code{dired-unmark}) works
Dave Love <fx@gnu.org>
parents:
diff changeset
130 just like @kbd{d}, but removes flags rather than making flags.
Dave Love <fx@gnu.org>
parents:
diff changeset
131 @key{DEL} (@code{dired-unmark-backward}) moves upward, removing flags;
Dave Love <fx@gnu.org>
parents:
diff changeset
132 it is like @kbd{u} with argument @minus{}1.
Dave Love <fx@gnu.org>
parents:
diff changeset
133
Dave Love <fx@gnu.org>
parents:
diff changeset
134 @kindex x @r{(Dired)}
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
135 @findex dired-do-flagged-delete
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
136 @cindex expunging (Dired)
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
137 To delete the flagged files, type @kbd{x} (@code{dired-do-flagged-delete}).
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
138 (This is also known as @dfn{expunging}.)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
139 This command first displays a list of all the file names flagged for
Dave Love <fx@gnu.org>
parents:
diff changeset
140 deletion, and requests confirmation with @kbd{yes}. If you confirm,
Dave Love <fx@gnu.org>
parents:
diff changeset
141 Dired deletes the flagged files, then deletes their lines from the text
Dave Love <fx@gnu.org>
parents:
diff changeset
142 of the Dired buffer. The shortened Dired buffer remains selected.
Dave Love <fx@gnu.org>
parents:
diff changeset
143
Dave Love <fx@gnu.org>
parents:
diff changeset
144 If you answer @kbd{no} or quit with @kbd{C-g} when asked to confirm, you
Dave Love <fx@gnu.org>
parents:
diff changeset
145 return immediately to Dired, with the deletion flags still present in
Dave Love <fx@gnu.org>
parents:
diff changeset
146 the buffer, and no files actually deleted.
Dave Love <fx@gnu.org>
parents:
diff changeset
147
Dave Love <fx@gnu.org>
parents:
diff changeset
148 @node Flagging Many Files
Dave Love <fx@gnu.org>
parents:
diff changeset
149 @section Flagging Many Files at Once
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
150 @cindex flagging many files for deletion (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
151
Dave Love <fx@gnu.org>
parents:
diff changeset
152 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
153 @item #
Dave Love <fx@gnu.org>
parents:
diff changeset
154 Flag all auto-save files (files whose names start and end with @samp{#})
Dave Love <fx@gnu.org>
parents:
diff changeset
155 for deletion (@pxref{Auto Save}).
Dave Love <fx@gnu.org>
parents:
diff changeset
156
Dave Love <fx@gnu.org>
parents:
diff changeset
157 @item ~
Dave Love <fx@gnu.org>
parents:
diff changeset
158 Flag all backup files (files whose names end with @samp{~}) for deletion
Dave Love <fx@gnu.org>
parents:
diff changeset
159 (@pxref{Backup}).
Dave Love <fx@gnu.org>
parents:
diff changeset
160
Dave Love <fx@gnu.org>
parents:
diff changeset
161 @item &
Dave Love <fx@gnu.org>
parents:
diff changeset
162 Flag for deletion all files with certain kinds of names, names that
Dave Love <fx@gnu.org>
parents:
diff changeset
163 suggest you could easily create the files again.
Dave Love <fx@gnu.org>
parents:
diff changeset
164
Dave Love <fx@gnu.org>
parents:
diff changeset
165 @item .@: @r{(Period)}
Dave Love <fx@gnu.org>
parents:
diff changeset
166 Flag excess numeric backup files for deletion. The oldest and newest
Dave Love <fx@gnu.org>
parents:
diff changeset
167 few backup files of any one file are exempt; the middle ones are
Dave Love <fx@gnu.org>
parents:
diff changeset
168 flagged.
Dave Love <fx@gnu.org>
parents:
diff changeset
169
Dave Love <fx@gnu.org>
parents:
diff changeset
170 @item % d @var{regexp} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
171 Flag for deletion all files whose names match the regular expression
Dave Love <fx@gnu.org>
parents:
diff changeset
172 @var{regexp}.
Dave Love <fx@gnu.org>
parents:
diff changeset
173 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
174
Dave Love <fx@gnu.org>
parents:
diff changeset
175 The @kbd{#}, @kbd{~}, @kbd{&}, and @kbd{.} commands flag many files for
Dave Love <fx@gnu.org>
parents:
diff changeset
176 deletion, based on their file names. These commands are useful
Dave Love <fx@gnu.org>
parents:
diff changeset
177 precisely because they do not themselves delete any files; you can
Dave Love <fx@gnu.org>
parents:
diff changeset
178 remove the deletion flags from any flagged files that you really wish to
Dave Love <fx@gnu.org>
parents:
diff changeset
179 keep.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
180
Dave Love <fx@gnu.org>
parents:
diff changeset
181 @kindex & @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
182 @findex dired-flag-garbage-files
Dave Love <fx@gnu.org>
parents:
diff changeset
183 @vindex dired-garbage-files-regexp
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
184 @cindex deleting some backup files
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
185 @kbd{&} (@code{dired-flag-garbage-files}) flags files whose names
Dave Love <fx@gnu.org>
parents:
diff changeset
186 match the regular expression specified by the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
187 @code{dired-garbage-files-regexp}. By default, this matches certain
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
188 files produced by @TeX{}, @samp{.bak} files, and the @samp{.orig} and
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
189 @samp{.rej} files produced by @code{patch}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
190
Dave Love <fx@gnu.org>
parents:
diff changeset
191 @kindex # @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
192 @findex dired-flag-auto-save-files
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
193 @cindex deleting auto-save files
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
194 @kbd{#} (@code{dired-flag-auto-save-files}) flags for deletion all
Dave Love <fx@gnu.org>
parents:
diff changeset
195 files whose names look like auto-save files (@pxref{Auto Save})---that
38124
72ea86c1d394 Proofreading fixes from Tim Goodwin <tjg@star.le.ac.uk>.
Eli Zaretskii <eliz@gnu.org>
parents: 37993
diff changeset
196 is, files whose names begin and end with @samp{#}.
72ea86c1d394 Proofreading fixes from Tim Goodwin <tjg@star.le.ac.uk>.
Eli Zaretskii <eliz@gnu.org>
parents: 37993
diff changeset
197
72ea86c1d394 Proofreading fixes from Tim Goodwin <tjg@star.le.ac.uk>.
Eli Zaretskii <eliz@gnu.org>
parents: 37993
diff changeset
198 @kindex ~ @r{(Dired)}
72ea86c1d394 Proofreading fixes from Tim Goodwin <tjg@star.le.ac.uk>.
Eli Zaretskii <eliz@gnu.org>
parents: 37993
diff changeset
199 @findex dired-flag-backup-files
72ea86c1d394 Proofreading fixes from Tim Goodwin <tjg@star.le.ac.uk>.
Eli Zaretskii <eliz@gnu.org>
parents: 37993
diff changeset
200 @kbd{~} (@code{dired-flag-backup-files}) flags for deletion all files
38745
5464ee1ba8e2 Minor cleanups.
Richard M. Stallman <rms@gnu.org>
parents: 38156
diff changeset
201 whose names say they are backup files (@pxref{Backup})---that is, files
5464ee1ba8e2 Minor cleanups.
Richard M. Stallman <rms@gnu.org>
parents: 38156
diff changeset
202 whose names end in @samp{~}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
203
Dave Love <fx@gnu.org>
parents:
diff changeset
204 @kindex . @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
205 @vindex dired-kept-versions
Dave Love <fx@gnu.org>
parents:
diff changeset
206 @findex dired-clean-directory
Dave Love <fx@gnu.org>
parents:
diff changeset
207 @kbd{.} (period, @code{dired-clean-directory}) flags just some of the
Dave Love <fx@gnu.org>
parents:
diff changeset
208 backup files for deletion: all but the oldest few and newest few backups
Dave Love <fx@gnu.org>
parents:
diff changeset
209 of any one file. Normally @code{dired-kept-versions} (@strong{not}
Dave Love <fx@gnu.org>
parents:
diff changeset
210 @code{kept-new-versions}; that applies only when saving) specifies the
Dave Love <fx@gnu.org>
parents:
diff changeset
211 number of newest versions of each file to keep, and
Dave Love <fx@gnu.org>
parents:
diff changeset
212 @code{kept-old-versions} specifies the number of oldest versions to
Dave Love <fx@gnu.org>
parents:
diff changeset
213 keep.
Dave Love <fx@gnu.org>
parents:
diff changeset
214
Dave Love <fx@gnu.org>
parents:
diff changeset
215 Period with a positive numeric argument, as in @kbd{C-u 3 .},
Dave Love <fx@gnu.org>
parents:
diff changeset
216 specifies the number of newest versions to keep, overriding
Dave Love <fx@gnu.org>
parents:
diff changeset
217 @code{dired-kept-versions}. A negative numeric argument overrides
Dave Love <fx@gnu.org>
parents:
diff changeset
218 @code{kept-old-versions}, using minus the value of the argument to
Dave Love <fx@gnu.org>
parents:
diff changeset
219 specify the number of oldest versions of each file to keep.
Dave Love <fx@gnu.org>
parents:
diff changeset
220
Dave Love <fx@gnu.org>
parents:
diff changeset
221 @findex dired-flag-files-regexp
Dave Love <fx@gnu.org>
parents:
diff changeset
222 @kindex % d @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
223 The @kbd{% d} command flags all files whose names match a specified
Dave Love <fx@gnu.org>
parents:
diff changeset
224 regular expression (@code{dired-flag-files-regexp}). Only the
Dave Love <fx@gnu.org>
parents:
diff changeset
225 non-directory part of the file name is used in matching. You can use
Dave Love <fx@gnu.org>
parents:
diff changeset
226 @samp{^} and @samp{$} to anchor matches. You can exclude subdirectories
Dave Love <fx@gnu.org>
parents:
diff changeset
227 by hiding them (@pxref{Hiding Subdirectories}).
Dave Love <fx@gnu.org>
parents:
diff changeset
228
Dave Love <fx@gnu.org>
parents:
diff changeset
229 @node Dired Visiting
Dave Love <fx@gnu.org>
parents:
diff changeset
230 @section Visiting Files in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
231
Dave Love <fx@gnu.org>
parents:
diff changeset
232 There are several Dired commands for visiting or examining the files
Dave Love <fx@gnu.org>
parents:
diff changeset
233 listed in the Dired buffer. All of them apply to the current line's
Dave Love <fx@gnu.org>
parents:
diff changeset
234 file; if that file is really a directory, these commands invoke Dired on
Dave Love <fx@gnu.org>
parents:
diff changeset
235 that subdirectory (making a separate Dired buffer).
Dave Love <fx@gnu.org>
parents:
diff changeset
236
Dave Love <fx@gnu.org>
parents:
diff changeset
237 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
238 @item f
Dave Love <fx@gnu.org>
parents:
diff changeset
239 @kindex f @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
240 @findex dired-find-file
Dave Love <fx@gnu.org>
parents:
diff changeset
241 Visit the file described on the current line, like typing @kbd{C-x C-f}
Dave Love <fx@gnu.org>
parents:
diff changeset
242 and supplying that file name (@code{dired-find-file}). @xref{Visiting}.
Dave Love <fx@gnu.org>
parents:
diff changeset
243
Dave Love <fx@gnu.org>
parents:
diff changeset
244 @item @key{RET}
37993
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
245 @itemx e
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
246 @kindex RET @r{(Dired)}
37993
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
247 @kindex e @r{(Dired)}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
248 Equivalent to @kbd{f}.
Dave Love <fx@gnu.org>
parents:
diff changeset
249
30114
50c69ce6e1b0 Describe dired-find-alternate-file.
Gerd Moellmann <gerd@gnu.org>
parents: 28126
diff changeset
250 @item a
50c69ce6e1b0 Describe dired-find-alternate-file.
Gerd Moellmann <gerd@gnu.org>
parents: 28126
diff changeset
251 @kindex a @r{(Dired)}
50c69ce6e1b0 Describe dired-find-alternate-file.
Gerd Moellmann <gerd@gnu.org>
parents: 28126
diff changeset
252 @findex dired-find-alternate-file
50c69ce6e1b0 Describe dired-find-alternate-file.
Gerd Moellmann <gerd@gnu.org>
parents: 28126
diff changeset
253 Like @kbd{f}, but replaces the contents of the Dired buffer with
36477
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
254 that of an alternate file or directory (@code{dired-find-alternate-file}).
30114
50c69ce6e1b0 Describe dired-find-alternate-file.
Gerd Moellmann <gerd@gnu.org>
parents: 28126
diff changeset
255
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
256 @item o
Dave Love <fx@gnu.org>
parents:
diff changeset
257 @kindex o @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
258 @findex dired-find-file-other-window
Dave Love <fx@gnu.org>
parents:
diff changeset
259 Like @kbd{f}, but uses another window to display the file's buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
260 (@code{dired-find-file-other-window}). The Dired buffer remains visible
Dave Love <fx@gnu.org>
parents:
diff changeset
261 in the first window. This is like using @kbd{C-x 4 C-f} to visit the
Dave Love <fx@gnu.org>
parents:
diff changeset
262 file. @xref{Windows}.
Dave Love <fx@gnu.org>
parents:
diff changeset
263
Dave Love <fx@gnu.org>
parents:
diff changeset
264 @item C-o
Dave Love <fx@gnu.org>
parents:
diff changeset
265 @kindex C-o @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
266 @findex dired-display-file
Dave Love <fx@gnu.org>
parents:
diff changeset
267 Visit the file described on the current line, and display the buffer in
Dave Love <fx@gnu.org>
parents:
diff changeset
268 another window, but do not select that window (@code{dired-display-file}).
Dave Love <fx@gnu.org>
parents:
diff changeset
269
Dave Love <fx@gnu.org>
parents:
diff changeset
270 @item Mouse-2
Dave Love <fx@gnu.org>
parents:
diff changeset
271 @findex dired-mouse-find-file-other-window
Dave Love <fx@gnu.org>
parents:
diff changeset
272 Visit the file named by the line you click on
Dave Love <fx@gnu.org>
parents:
diff changeset
273 (@code{dired-mouse-find-file-other-window}). This uses another window
Dave Love <fx@gnu.org>
parents:
diff changeset
274 to display the file, like the @kbd{o} command.
Dave Love <fx@gnu.org>
parents:
diff changeset
275
Dave Love <fx@gnu.org>
parents:
diff changeset
276 @item v
Dave Love <fx@gnu.org>
parents:
diff changeset
277 @kindex v @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
278 @findex dired-view-file
Dave Love <fx@gnu.org>
parents:
diff changeset
279 View the file described on the current line, using @kbd{M-x view-file}
Dave Love <fx@gnu.org>
parents:
diff changeset
280 (@code{dired-view-file}).
Dave Love <fx@gnu.org>
parents:
diff changeset
281
Dave Love <fx@gnu.org>
parents:
diff changeset
282 Viewing a file is like visiting it, but is slanted toward moving around
Dave Love <fx@gnu.org>
parents:
diff changeset
283 in the file conveniently and does not allow changing the file.
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
284 @xref{Misc File Ops,View File, Miscellaneous File Operations}.
37993
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
285
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
286 @item ^
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
287 @kindex ^ @r{(Dired)}
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
288 @findex dired-up-directory
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
289 Visit the parent directory of the current directory
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
290 (@code{dired-up-directory}). This is more convenient than moving to
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
291 the parent directory's line and typing @kbd{f} there.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
292 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
293
Dave Love <fx@gnu.org>
parents:
diff changeset
294 @node Marks vs Flags
Dave Love <fx@gnu.org>
parents:
diff changeset
295 @section Dired Marks vs. Flags
Dave Love <fx@gnu.org>
parents:
diff changeset
296
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
297 @cindex marking many files (in Dired)
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
298 Instead of flagging a file with @samp{D}, you can @dfn{mark} the
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
299 file with some other character (usually @samp{*}). Most Dired
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
300 commands to operate on files use the files marked with @samp{*}, the
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
301 exception being @kbd{x} which deletes the flagged files.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
302
Dave Love <fx@gnu.org>
parents:
diff changeset
303 Here are some commands for marking with @samp{*}, or for unmarking or
Dave Love <fx@gnu.org>
parents:
diff changeset
304 operating on marks. (@xref{Dired Deletion}, for commands to flag and
Dave Love <fx@gnu.org>
parents:
diff changeset
305 unflag files.)
Dave Love <fx@gnu.org>
parents:
diff changeset
306
Dave Love <fx@gnu.org>
parents:
diff changeset
307 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
308 @item m
Dave Love <fx@gnu.org>
parents:
diff changeset
309 @itemx * m
Dave Love <fx@gnu.org>
parents:
diff changeset
310 @kindex m @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
311 @kindex * m @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
312 @findex dired-mark
Dave Love <fx@gnu.org>
parents:
diff changeset
313 Mark the current file with @samp{*} (@code{dired-mark}). With a numeric
Dave Love <fx@gnu.org>
parents:
diff changeset
314 argument @var{n}, mark the next @var{n} files starting with the current
Dave Love <fx@gnu.org>
parents:
diff changeset
315 file. (If @var{n} is negative, mark the previous @minus{}@var{n}
Dave Love <fx@gnu.org>
parents:
diff changeset
316 files.)
Dave Love <fx@gnu.org>
parents:
diff changeset
317
Dave Love <fx@gnu.org>
parents:
diff changeset
318 @item * *
Dave Love <fx@gnu.org>
parents:
diff changeset
319 @kindex * * @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
320 @findex dired-mark-executables
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
321 @cindex marking executable files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
322 Mark all executable files with @samp{*}
Dave Love <fx@gnu.org>
parents:
diff changeset
323 (@code{dired-mark-executables}). With a numeric argument, unmark all
Dave Love <fx@gnu.org>
parents:
diff changeset
324 those files.
Dave Love <fx@gnu.org>
parents:
diff changeset
325
Dave Love <fx@gnu.org>
parents:
diff changeset
326 @item * @@
Dave Love <fx@gnu.org>
parents:
diff changeset
327 @kindex * @@ @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
328 @findex dired-mark-symlinks
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
329 @cindex marking symlinks (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
330 Mark all symbolic links with @samp{*} (@code{dired-mark-symlinks}).
Dave Love <fx@gnu.org>
parents:
diff changeset
331 With a numeric argument, unmark all those files.
Dave Love <fx@gnu.org>
parents:
diff changeset
332
Dave Love <fx@gnu.org>
parents:
diff changeset
333 @item * /
Dave Love <fx@gnu.org>
parents:
diff changeset
334 @kindex * / @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
335 @findex dired-mark-directories
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
336 @cindex marking subdirectories (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
337 Mark with @samp{*} all files which are actually directories, except for
Dave Love <fx@gnu.org>
parents:
diff changeset
338 @file{.} and @file{..} (@code{dired-mark-directories}). With a numeric
Dave Love <fx@gnu.org>
parents:
diff changeset
339 argument, unmark all those files.
Dave Love <fx@gnu.org>
parents:
diff changeset
340
Dave Love <fx@gnu.org>
parents:
diff changeset
341 @item * s
Dave Love <fx@gnu.org>
parents:
diff changeset
342 @kindex * s @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
343 @findex dired-mark-subdir-files
Dave Love <fx@gnu.org>
parents:
diff changeset
344 Mark all the files in the current subdirectory, aside from @file{.}
Dave Love <fx@gnu.org>
parents:
diff changeset
345 and @file{..} (@code{dired-mark-subdir-files}).
Dave Love <fx@gnu.org>
parents:
diff changeset
346
Dave Love <fx@gnu.org>
parents:
diff changeset
347 @item u
Dave Love <fx@gnu.org>
parents:
diff changeset
348 @itemx * u
Dave Love <fx@gnu.org>
parents:
diff changeset
349 @kindex u @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
350 @kindex * u @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
351 @findex dired-unmark
Dave Love <fx@gnu.org>
parents:
diff changeset
352 Remove any mark on this line (@code{dired-unmark}).
Dave Love <fx@gnu.org>
parents:
diff changeset
353
Dave Love <fx@gnu.org>
parents:
diff changeset
354 @item @key{DEL}
Dave Love <fx@gnu.org>
parents:
diff changeset
355 @itemx * @key{DEL}
Dave Love <fx@gnu.org>
parents:
diff changeset
356 @kindex * DEL @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
357 @findex dired-unmark-backward
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
358 @cindex unmarking files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
359 Move point to previous line and remove any mark on that line
Dave Love <fx@gnu.org>
parents:
diff changeset
360 (@code{dired-unmark-backward}).
Dave Love <fx@gnu.org>
parents:
diff changeset
361
Dave Love <fx@gnu.org>
parents:
diff changeset
362 @item * !
Dave Love <fx@gnu.org>
parents:
diff changeset
363 @kindex * ! @r{(Dired)}
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
364 @findex dired-unmark-all-marks
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
365 Remove all marks from all the files in this Dired buffer
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
366 (@code{dired-unmark-all-marks}).
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
367
Dave Love <fx@gnu.org>
parents:
diff changeset
368 @item * ? @var{markchar}
Dave Love <fx@gnu.org>
parents:
diff changeset
369 @kindex * ? @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
370 @findex dired-unmark-all-files
Dave Love <fx@gnu.org>
parents:
diff changeset
371 Remove all marks that use the character @var{markchar}
Dave Love <fx@gnu.org>
parents:
diff changeset
372 (@code{dired-unmark-all-files}). The argument is a single
36477
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
373 character---do not use @key{RET} to terminate it. See the description
36507
7f2e9facb52a Minor cleanups.
Richard M. Stallman <rms@gnu.org>
parents: 36477
diff changeset
374 of the @kbd{* c} command below, which lets you replace one mark
7f2e9facb52a Minor cleanups.
Richard M. Stallman <rms@gnu.org>
parents: 36477
diff changeset
375 character with another.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
376
Dave Love <fx@gnu.org>
parents:
diff changeset
377 With a numeric argument, this command queries about each marked file,
Dave Love <fx@gnu.org>
parents:
diff changeset
378 asking whether to remove its mark. You can answer @kbd{y} meaning yes,
Dave Love <fx@gnu.org>
parents:
diff changeset
379 @kbd{n} meaning no, or @kbd{!} to remove the marks from the remaining
Dave Love <fx@gnu.org>
parents:
diff changeset
380 files without asking about them.
Dave Love <fx@gnu.org>
parents:
diff changeset
381
Dave Love <fx@gnu.org>
parents:
diff changeset
382 @item * C-n
Dave Love <fx@gnu.org>
parents:
diff changeset
383 @findex dired-next-marked-file
Dave Love <fx@gnu.org>
parents:
diff changeset
384 @kindex * C-n @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
385 Move down to the next marked file (@code{dired-next-marked-file})
Dave Love <fx@gnu.org>
parents:
diff changeset
386 A file is ``marked'' if it has any kind of mark.
Dave Love <fx@gnu.org>
parents:
diff changeset
387
Dave Love <fx@gnu.org>
parents:
diff changeset
388 @item * C-p
Dave Love <fx@gnu.org>
parents:
diff changeset
389 @findex dired-prev-marked-file
Dave Love <fx@gnu.org>
parents:
diff changeset
390 @kindex * C-p @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
391 Move up to the previous marked file (@code{dired-prev-marked-file})
Dave Love <fx@gnu.org>
parents:
diff changeset
392
Dave Love <fx@gnu.org>
parents:
diff changeset
393 @item * t
Dave Love <fx@gnu.org>
parents:
diff changeset
394 @kindex * t @r{(Dired)}
44213
729648fff079 Rename dired-do-toggle to dired-toggle-marks.
Richard M. Stallman <rms@gnu.org>
parents: 43109
diff changeset
395 @findex dired-toggle-marks
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
396 @cindex toggling marks (in Dired)
44213
729648fff079 Rename dired-do-toggle to dired-toggle-marks.
Richard M. Stallman <rms@gnu.org>
parents: 43109
diff changeset
397 Toggle all marks (@code{dired-toggle-marks}): files marked with @samp{*}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
398 become unmarked, and unmarked files are marked with @samp{*}. Files
Dave Love <fx@gnu.org>
parents:
diff changeset
399 marked in any other way are not affected.
Dave Love <fx@gnu.org>
parents:
diff changeset
400
36477
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
401 @item * c @var{old-markchar} @var{new-markchar}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
402 @kindex * c @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
403 @findex dired-change-marks
36477
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
404 Replace all marks that use the character @var{old-markchar} with marks
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
405 that use the character @var{new-markchar} (@code{dired-change-marks}).
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
406 This command is the primary way to create or use marks other than
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
407 @samp{*} or @samp{D}. The arguments are single characters---do not use
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
408 @key{RET} to terminate them.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
409
Dave Love <fx@gnu.org>
parents:
diff changeset
410 You can use almost any character as a mark character by means of this
36477
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
411 command, to distinguish various classes of files. If @var{old-markchar}
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
412 is a space (@samp{ }), then the command operates on all unmarked files;
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
413 if @var{new-markchar} is a space, then the command unmarks the files it
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
414 acts on.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
415
Dave Love <fx@gnu.org>
parents:
diff changeset
416 To illustrate the power of this command, here is how to put @samp{D}
Dave Love <fx@gnu.org>
parents:
diff changeset
417 flags on all the files that have no marks, while unflagging all those
Dave Love <fx@gnu.org>
parents:
diff changeset
418 that already have @samp{D} flags:
Dave Love <fx@gnu.org>
parents:
diff changeset
419
Dave Love <fx@gnu.org>
parents:
diff changeset
420 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
421 * c D t * c SPC D * c t SPC
Dave Love <fx@gnu.org>
parents:
diff changeset
422 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
423
36507
7f2e9facb52a Minor cleanups.
Richard M. Stallman <rms@gnu.org>
parents: 36477
diff changeset
424 This assumes that no files were already marked with @samp{t}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
425
Dave Love <fx@gnu.org>
parents:
diff changeset
426 @item % m @var{regexp} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
427 @itemx * % @var{regexp} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
428 @findex dired-mark-files-regexp
Dave Love <fx@gnu.org>
parents:
diff changeset
429 @kindex % m @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
430 @kindex * % @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
431 Mark (with @samp{*}) all files whose names match the regular expression
Dave Love <fx@gnu.org>
parents:
diff changeset
432 @var{regexp} (@code{dired-mark-files-regexp}). This command is like
Dave Love <fx@gnu.org>
parents:
diff changeset
433 @kbd{% d}, except that it marks files with @samp{*} instead of flagging
Dave Love <fx@gnu.org>
parents:
diff changeset
434 with @samp{D}. @xref{Flagging Many Files}.
Dave Love <fx@gnu.org>
parents:
diff changeset
435
Dave Love <fx@gnu.org>
parents:
diff changeset
436 Only the non-directory part of the file name is used in matching. Use
Dave Love <fx@gnu.org>
parents:
diff changeset
437 @samp{^} and @samp{$} to anchor matches. Exclude subdirectories by
Dave Love <fx@gnu.org>
parents:
diff changeset
438 hiding them (@pxref{Hiding Subdirectories}).
Dave Love <fx@gnu.org>
parents:
diff changeset
439
Dave Love <fx@gnu.org>
parents:
diff changeset
440 @item % g @var{regexp} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
441 @findex dired-mark-files-containing-regexp
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
442 @kindex % g @r{(Dired)}
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
443 @cindex finding files containing regexp matches (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
444 Mark (with @samp{*}) all files whose @emph{contents} contain a match for
Dave Love <fx@gnu.org>
parents:
diff changeset
445 the regular expression @var{regexp}
Dave Love <fx@gnu.org>
parents:
diff changeset
446 (@code{dired-mark-files-containing-regexp}). This command is like
Dave Love <fx@gnu.org>
parents:
diff changeset
447 @kbd{% m}, except that it searches the file contents instead of the file
Dave Love <fx@gnu.org>
parents:
diff changeset
448 name.
Dave Love <fx@gnu.org>
parents:
diff changeset
449
Dave Love <fx@gnu.org>
parents:
diff changeset
450 @item C-_
Dave Love <fx@gnu.org>
parents:
diff changeset
451 @kindex C-_ @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
452 @findex dired-undo
Dave Love <fx@gnu.org>
parents:
diff changeset
453 Undo changes in the Dired buffer, such as adding or removing
37519
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
454 marks (@code{dired-undo}). @emph{This command does not revert the
38124
72ea86c1d394 Proofreading fixes from Tim Goodwin <tjg@star.le.ac.uk>.
Eli Zaretskii <eliz@gnu.org>
parents: 37993
diff changeset
455 actual file operations, nor recover lost files!} It just undoes
37519
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
456 changes in the buffer itself. For example, if used after renaming one
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
457 or more files, @code{dired-undo} restores the original names, which
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
458 will get the Dired buffer out of sync with the actual contents of the
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
459 directory.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
460 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
461
Dave Love <fx@gnu.org>
parents:
diff changeset
462 @node Operating on Files
Dave Love <fx@gnu.org>
parents:
diff changeset
463 @section Operating on Files
Dave Love <fx@gnu.org>
parents:
diff changeset
464 @cindex operating on files in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
465
Dave Love <fx@gnu.org>
parents:
diff changeset
466 This section describes the basic Dired commands to operate on one file
Dave Love <fx@gnu.org>
parents:
diff changeset
467 or several files. All of these commands are capital letters; all of
Dave Love <fx@gnu.org>
parents:
diff changeset
468 them use the minibuffer, either to read an argument or to ask for
Dave Love <fx@gnu.org>
parents:
diff changeset
469 confirmation, before they act. All of them give you several ways to
Dave Love <fx@gnu.org>
parents:
diff changeset
470 specify which files to manipulate:
Dave Love <fx@gnu.org>
parents:
diff changeset
471
Dave Love <fx@gnu.org>
parents:
diff changeset
472 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
473 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
474 If you give the command a numeric prefix argument @var{n}, it operates
Dave Love <fx@gnu.org>
parents:
diff changeset
475 on the next @var{n} files, starting with the current file. (If @var{n}
Dave Love <fx@gnu.org>
parents:
diff changeset
476 is negative, the command operates on the @minus{}@var{n} files preceding
Dave Love <fx@gnu.org>
parents:
diff changeset
477 the current line.)
Dave Love <fx@gnu.org>
parents:
diff changeset
478
Dave Love <fx@gnu.org>
parents:
diff changeset
479 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
480 Otherwise, if some files are marked with @samp{*}, the command operates
Dave Love <fx@gnu.org>
parents:
diff changeset
481 on all those files.
Dave Love <fx@gnu.org>
parents:
diff changeset
482
Dave Love <fx@gnu.org>
parents:
diff changeset
483 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
484 Otherwise, the command operates on the current file only.
Dave Love <fx@gnu.org>
parents:
diff changeset
485 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
486
37491
772178ae2c7e (Operating on Files): Document dired-dwim-target.
Eli Zaretskii <eliz@gnu.org>
parents: 37484
diff changeset
487 @vindex dired-dwim-target
772178ae2c7e (Operating on Files): Document dired-dwim-target.
Eli Zaretskii <eliz@gnu.org>
parents: 37484
diff changeset
488 @cindex two directories (in Dired)
772178ae2c7e (Operating on Files): Document dired-dwim-target.
Eli Zaretskii <eliz@gnu.org>
parents: 37484
diff changeset
489 Commands which ask for a destination directory, such as those which
772178ae2c7e (Operating on Files): Document dired-dwim-target.
Eli Zaretskii <eliz@gnu.org>
parents: 37484
diff changeset
490 copy and rename files or create links for them, try to guess the default
772178ae2c7e (Operating on Files): Document dired-dwim-target.
Eli Zaretskii <eliz@gnu.org>
parents: 37484
diff changeset
491 target directory for the operation. Normally, they suggest the Dired
772178ae2c7e (Operating on Files): Document dired-dwim-target.
Eli Zaretskii <eliz@gnu.org>
parents: 37484
diff changeset
492 buffer's default directory, but if the variable @code{dired-dwim-target}
772178ae2c7e (Operating on Files): Document dired-dwim-target.
Eli Zaretskii <eliz@gnu.org>
parents: 37484
diff changeset
493 is non-@code{nil}, and if there is another Dired buffer displayed in the
772178ae2c7e (Operating on Files): Document dired-dwim-target.
Eli Zaretskii <eliz@gnu.org>
parents: 37484
diff changeset
494 next window, that other buffer's directory is suggested instead.
772178ae2c7e (Operating on Files): Document dired-dwim-target.
Eli Zaretskii <eliz@gnu.org>
parents: 37484
diff changeset
495
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
496 Here are the file-manipulating commands that operate on files in this
Dave Love <fx@gnu.org>
parents:
diff changeset
497 way. (Some other Dired commands, such as @kbd{!} and the @samp{%}
Dave Love <fx@gnu.org>
parents:
diff changeset
498 commands, also use these conventions to decide which files to work on.)
Dave Love <fx@gnu.org>
parents:
diff changeset
499
Dave Love <fx@gnu.org>
parents:
diff changeset
500 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
501 @findex dired-do-copy
Dave Love <fx@gnu.org>
parents:
diff changeset
502 @kindex C @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
503 @cindex copying files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
504 @item C @var{new} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
505 Copy the specified files (@code{dired-do-copy}). The argument @var{new}
Dave Love <fx@gnu.org>
parents:
diff changeset
506 is the directory to copy into, or (if copying a single file) the new
Dave Love <fx@gnu.org>
parents:
diff changeset
507 name.
Dave Love <fx@gnu.org>
parents:
diff changeset
508
Dave Love <fx@gnu.org>
parents:
diff changeset
509 @vindex dired-copy-preserve-time
Dave Love <fx@gnu.org>
parents:
diff changeset
510 If @code{dired-copy-preserve-time} is non-@code{nil}, then copying with
Dave Love <fx@gnu.org>
parents:
diff changeset
511 this command sets the modification time of the new file to be the same
Dave Love <fx@gnu.org>
parents:
diff changeset
512 as that of the old file.
Dave Love <fx@gnu.org>
parents:
diff changeset
513
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
514 @vindex dired-recursive-copies
40617
aeebb5c33587 (Dired Deletion, Operating On Files): Add index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 39287
diff changeset
515 @cindex recursive copying
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
516 The variable @code{dired-recursive-copies} controls whether
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
517 directories are copied recursively. The default is to not copy
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
518 recursively, which means that directories cannot be copied.
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
519
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
520 @item D
Dave Love <fx@gnu.org>
parents:
diff changeset
521 @findex dired-do-delete
Dave Love <fx@gnu.org>
parents:
diff changeset
522 @kindex D @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
523 Delete the specified files (@code{dired-do-delete}). Like the other
Dave Love <fx@gnu.org>
parents:
diff changeset
524 commands in this section, this command operates on the @emph{marked}
Dave Love <fx@gnu.org>
parents:
diff changeset
525 files, or the next @var{n} files. By contrast, @kbd{x}
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
526 (@code{dired-do-flagged-delete}) deletes all @dfn{flagged} files.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
527
Dave Love <fx@gnu.org>
parents:
diff changeset
528 @findex dired-do-rename
Dave Love <fx@gnu.org>
parents:
diff changeset
529 @kindex R @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
530 @cindex renaming files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
531 @item R @var{new} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
532 Rename the specified files (@code{dired-do-rename}). The argument
Dave Love <fx@gnu.org>
parents:
diff changeset
533 @var{new} is the directory to rename into, or (if renaming a single
Dave Love <fx@gnu.org>
parents:
diff changeset
534 file) the new name.
Dave Love <fx@gnu.org>
parents:
diff changeset
535
Dave Love <fx@gnu.org>
parents:
diff changeset
536 Dired automatically changes the visited file name of buffers associated
Dave Love <fx@gnu.org>
parents:
diff changeset
537 with renamed files so that they refer to the new names.
Dave Love <fx@gnu.org>
parents:
diff changeset
538
Dave Love <fx@gnu.org>
parents:
diff changeset
539 @findex dired-do-hardlink
Dave Love <fx@gnu.org>
parents:
diff changeset
540 @kindex H @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
541 @cindex hard links (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
542 @item H @var{new} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
543 Make hard links to the specified files (@code{dired-do-hardlink}). The
Dave Love <fx@gnu.org>
parents:
diff changeset
544 argument @var{new} is the directory to make the links in, or (if making
Dave Love <fx@gnu.org>
parents:
diff changeset
545 just one link) the name to give the link.
Dave Love <fx@gnu.org>
parents:
diff changeset
546
Dave Love <fx@gnu.org>
parents:
diff changeset
547 @findex dired-do-symlink
Dave Love <fx@gnu.org>
parents:
diff changeset
548 @kindex S @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
549 @cindex symlinks (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
550 @item S @var{new} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
551 Make symbolic links to the specified files (@code{dired-do-symlink}).
Dave Love <fx@gnu.org>
parents:
diff changeset
552 The argument @var{new} is the directory to make the links in, or (if
Dave Love <fx@gnu.org>
parents:
diff changeset
553 making just one link) the name to give the link.
Dave Love <fx@gnu.org>
parents:
diff changeset
554
Dave Love <fx@gnu.org>
parents:
diff changeset
555 @findex dired-do-chmod
Dave Love <fx@gnu.org>
parents:
diff changeset
556 @kindex M @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
557 @cindex changing file permissions (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
558 @item M @var{modespec} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
559 Change the mode (also called ``permission bits'') of the specified files
Dave Love <fx@gnu.org>
parents:
diff changeset
560 (@code{dired-do-chmod}). This uses the @code{chmod} program, so
Dave Love <fx@gnu.org>
parents:
diff changeset
561 @var{modespec} can be any argument that @code{chmod} can handle.
Dave Love <fx@gnu.org>
parents:
diff changeset
562
Dave Love <fx@gnu.org>
parents:
diff changeset
563 @findex dired-do-chgrp
Dave Love <fx@gnu.org>
parents:
diff changeset
564 @kindex G @r{(Dired)}
36263
11db0318031d Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 36149
diff changeset
565 @cindex changing file group (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
566 @item G @var{newgroup} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
567 Change the group of the specified files to @var{newgroup}
Dave Love <fx@gnu.org>
parents:
diff changeset
568 (@code{dired-do-chgrp}).
Dave Love <fx@gnu.org>
parents:
diff changeset
569
Dave Love <fx@gnu.org>
parents:
diff changeset
570 @findex dired-do-chown
Dave Love <fx@gnu.org>
parents:
diff changeset
571 @kindex O @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
572 @cindex changing file owner (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
573 @item O @var{newowner} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
574 Change the owner of the specified files to @var{newowner}
Dave Love <fx@gnu.org>
parents:
diff changeset
575 (@code{dired-do-chown}). (On most systems, only the superuser can do
Dave Love <fx@gnu.org>
parents:
diff changeset
576 this.)
Dave Love <fx@gnu.org>
parents:
diff changeset
577
Dave Love <fx@gnu.org>
parents:
diff changeset
578 @vindex dired-chown-program
Dave Love <fx@gnu.org>
parents:
diff changeset
579 The variable @code{dired-chown-program} specifies the name of the
Dave Love <fx@gnu.org>
parents:
diff changeset
580 program to use to do the work (different systems put @code{chown} in
Dave Love <fx@gnu.org>
parents:
diff changeset
581 different places).
Dave Love <fx@gnu.org>
parents:
diff changeset
582
Dave Love <fx@gnu.org>
parents:
diff changeset
583 @findex dired-do-print
Dave Love <fx@gnu.org>
parents:
diff changeset
584 @kindex P @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
585 @cindex printing files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
586 @item P @var{command} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
587 Print the specified files (@code{dired-do-print}). You must specify the
Dave Love <fx@gnu.org>
parents:
diff changeset
588 command to print them with, but the minibuffer starts out with a
Dave Love <fx@gnu.org>
parents:
diff changeset
589 suitable guess made using the variables @code{lpr-command} and
Dave Love <fx@gnu.org>
parents:
diff changeset
590 @code{lpr-switches} (the same variables that @code{lpr-buffer} uses;
Dave Love <fx@gnu.org>
parents:
diff changeset
591 @pxref{Hardcopy}).
Dave Love <fx@gnu.org>
parents:
diff changeset
592
Dave Love <fx@gnu.org>
parents:
diff changeset
593 @findex dired-do-compress
Dave Love <fx@gnu.org>
parents:
diff changeset
594 @kindex Z @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
595 @cindex compressing files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
596 @item Z
Dave Love <fx@gnu.org>
parents:
diff changeset
597 Compress the specified files (@code{dired-do-compress}). If the file
Dave Love <fx@gnu.org>
parents:
diff changeset
598 appears to be a compressed file already, it is uncompressed instead.
Dave Love <fx@gnu.org>
parents:
diff changeset
599
Dave Love <fx@gnu.org>
parents:
diff changeset
600 @findex dired-do-load
Dave Love <fx@gnu.org>
parents:
diff changeset
601 @kindex L @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
602 @cindex loading several files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
603 @item L
Dave Love <fx@gnu.org>
parents:
diff changeset
604 Load the specified Emacs Lisp files (@code{dired-do-load}).
Dave Love <fx@gnu.org>
parents:
diff changeset
605 @xref{Lisp Libraries}.
Dave Love <fx@gnu.org>
parents:
diff changeset
606
Dave Love <fx@gnu.org>
parents:
diff changeset
607 @findex dired-do-byte-compile
Dave Love <fx@gnu.org>
parents:
diff changeset
608 @kindex B @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
609 @cindex byte-compiling several files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
610 @item B
Dave Love <fx@gnu.org>
parents:
diff changeset
611 Byte compile the specified Emacs Lisp files
Dave Love <fx@gnu.org>
parents:
diff changeset
612 (@code{dired-do-byte-compile}). @xref{Byte Compilation,, Byte
Dave Love <fx@gnu.org>
parents:
diff changeset
613 Compilation, elisp, The Emacs Lisp Reference Manual}.
Dave Love <fx@gnu.org>
parents:
diff changeset
614
Dave Love <fx@gnu.org>
parents:
diff changeset
615 @kindex A @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
616 @findex dired-do-search
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
617 @cindex search multiple files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
618 @item A @var{regexp} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
619 Search all the specified files for the regular expression @var{regexp}
Dave Love <fx@gnu.org>
parents:
diff changeset
620 (@code{dired-do-search}).
Dave Love <fx@gnu.org>
parents:
diff changeset
621
Dave Love <fx@gnu.org>
parents:
diff changeset
622 This command is a variant of @code{tags-search}. The search stops at
Dave Love <fx@gnu.org>
parents:
diff changeset
623 the first match it finds; use @kbd{M-,} to resume the search and find
Dave Love <fx@gnu.org>
parents:
diff changeset
624 the next match. @xref{Tags Search}.
Dave Love <fx@gnu.org>
parents:
diff changeset
625
Dave Love <fx@gnu.org>
parents:
diff changeset
626 @kindex Q @r{(Dired)}
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
627 @findex dired-do-query-replace-regexp
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
628 @cindex search and replace in multiple files (in Dired)
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
629 @item Q @var{regexp} @key{RET} @var{to} @key{RET}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
630 Perform @code{query-replace-regexp} on each of the specified files,
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
631 replacing matches for @var{regexp} with the string
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
632 @var{to} (@code{dired-do-query-replace-regexp}).
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
633
Dave Love <fx@gnu.org>
parents:
diff changeset
634 This command is a variant of @code{tags-query-replace}. If you exit the
Dave Love <fx@gnu.org>
parents:
diff changeset
635 query replace loop, you can use @kbd{M-,} to resume the scan and replace
Dave Love <fx@gnu.org>
parents:
diff changeset
636 more matches. @xref{Tags Search}.
Dave Love <fx@gnu.org>
parents:
diff changeset
637 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
638
Dave Love <fx@gnu.org>
parents:
diff changeset
639 @kindex + @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
640 @findex dired-create-directory
Dave Love <fx@gnu.org>
parents:
diff changeset
641 One special file-operation command is @kbd{+}
Dave Love <fx@gnu.org>
parents:
diff changeset
642 (@code{dired-create-directory}). This command reads a directory name and
Dave Love <fx@gnu.org>
parents:
diff changeset
643 creates the directory if it does not already exist.
Dave Love <fx@gnu.org>
parents:
diff changeset
644
Dave Love <fx@gnu.org>
parents:
diff changeset
645 @node Shell Commands in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
646 @section Shell Commands in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
647 @cindex shell commands, Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
648
Dave Love <fx@gnu.org>
parents:
diff changeset
649 @findex dired-do-shell-command
Dave Love <fx@gnu.org>
parents:
diff changeset
650 @kindex ! @r{(Dired)}
36477
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
651 @kindex X @r{(Dired)}
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
652 The Dired command @kbd{!} (@code{dired-do-shell-command}) reads a shell
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
653 command string in the minibuffer and runs that shell command on all the
36477
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
654 specified files. @kbd{X} is a synonym for @kbd{!}. You can specify the
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
655 files to operate on in the usual ways for Dired commands
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
656 (@pxref{Operating on Files}). There are two ways of applying a shell
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
657 command to multiple files:
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
658
Dave Love <fx@gnu.org>
parents:
diff changeset
659 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
660 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
661 If you use @samp{*} in the shell command, then it runs just once, with
Dave Love <fx@gnu.org>
parents:
diff changeset
662 the list of file names substituted for the @samp{*}. The order of file
Dave Love <fx@gnu.org>
parents:
diff changeset
663 names is the order of appearance in the Dired buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
664
Dave Love <fx@gnu.org>
parents:
diff changeset
665 Thus, @kbd{! tar cf foo.tar * @key{RET}} runs @code{tar} on the entire
Dave Love <fx@gnu.org>
parents:
diff changeset
666 list of file names, putting them into one tar file @file{foo.tar}.
Dave Love <fx@gnu.org>
parents:
diff changeset
667
Dave Love <fx@gnu.org>
parents:
diff changeset
668 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
669 If the command string doesn't contain @samp{*}, then it runs once
Dave Love <fx@gnu.org>
parents:
diff changeset
670 @emph{for each file}, with the file name added at the end.
Dave Love <fx@gnu.org>
parents:
diff changeset
671
Dave Love <fx@gnu.org>
parents:
diff changeset
672 For example, @kbd{! uudecode @key{RET}} runs @code{uudecode} on each
Dave Love <fx@gnu.org>
parents:
diff changeset
673 file.
Dave Love <fx@gnu.org>
parents:
diff changeset
674 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
675
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
676 What if you want to run the shell command once for each file, with the
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
677 file name inserted in the middle? You can use @samp{?} in the command
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
678 instead of @samp{*}. The current file name is substituted for
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
679 @samp{?}. You can use @samp{?} more than once. For instance, here is
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
680 how to uuencode each file, making the output file name by appending
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
681 @samp{.uu} to the input file name:
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
682
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
683 @example
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
684 uuencode ? ? > ?.uu
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
685 @end example
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
686
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
687 To use the file names in a more complicated fashion, you can use a
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
688 shell loop. For example, this shell command is another way to
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
689 uuencode each file:
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
690
Dave Love <fx@gnu.org>
parents:
diff changeset
691 @example
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
692 for file in *; do uuencode "$file" "$file" >"$file".uu; done
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
693 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
694
Dave Love <fx@gnu.org>
parents:
diff changeset
695 The working directory for the shell command is the top-level directory
Dave Love <fx@gnu.org>
parents:
diff changeset
696 of the Dired buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
697
Dave Love <fx@gnu.org>
parents:
diff changeset
698 The @kbd{!} command does not attempt to update the Dired buffer to show
Dave Love <fx@gnu.org>
parents:
diff changeset
699 new or modified files, because it doesn't really understand shell
Dave Love <fx@gnu.org>
parents:
diff changeset
700 commands, and does not know what files the shell command changed. Use
Dave Love <fx@gnu.org>
parents:
diff changeset
701 the @kbd{g} command to update the Dired buffer (@pxref{Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
702 Updating}).
Dave Love <fx@gnu.org>
parents:
diff changeset
703
Dave Love <fx@gnu.org>
parents:
diff changeset
704 @node Transforming File Names
Dave Love <fx@gnu.org>
parents:
diff changeset
705 @section Transforming File Names in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
706
37519
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
707 This section describes Dired commands which alter file names in a
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
708 systematic way.
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
709
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
710 Like the basic Dired file-manipulation commands (@pxref{Operating on
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
711 Files}), the commands described here operate either on the next
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
712 @var{n} files, or on all files marked with @samp{*}, or on the current
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
713 file. (To mark files, use the commands described in @ref{Marks vs
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
714 Flags}.)
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
715
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
716 All of the commands described in this section work
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
717 @emph{interactively}: they ask you to confirm the operation for each
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
718 candidate file. Thus, you can select more files than you actually
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
719 need to operate on (e.g., with a regexp that matches many files), and
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
720 then refine the selection by typing @kbd{y} or @kbd{n} when the
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
721 command prompts for confirmation.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
722
Dave Love <fx@gnu.org>
parents:
diff changeset
723 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
724 @findex dired-upcase
Dave Love <fx@gnu.org>
parents:
diff changeset
725 @kindex % u @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
726 @cindex upcase file names
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
727 @item % u
Dave Love <fx@gnu.org>
parents:
diff changeset
728 Rename each of the selected files to an upper-case name
Dave Love <fx@gnu.org>
parents:
diff changeset
729 (@code{dired-upcase}). If the old file names are @file{Foo}
Dave Love <fx@gnu.org>
parents:
diff changeset
730 and @file{bar}, the new names are @file{FOO} and @file{BAR}.
Dave Love <fx@gnu.org>
parents:
diff changeset
731
Dave Love <fx@gnu.org>
parents:
diff changeset
732 @item % l
Dave Love <fx@gnu.org>
parents:
diff changeset
733 @findex dired-downcase
Dave Love <fx@gnu.org>
parents:
diff changeset
734 @kindex % l @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
735 @cindex downcase file names
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
736 Rename each of the selected files to a lower-case name
Dave Love <fx@gnu.org>
parents:
diff changeset
737 (@code{dired-downcase}). If the old file names are @file{Foo} and
Dave Love <fx@gnu.org>
parents:
diff changeset
738 @file{bar}, the new names are @file{foo} and @file{bar}.
Dave Love <fx@gnu.org>
parents:
diff changeset
739
Dave Love <fx@gnu.org>
parents:
diff changeset
740 @item % R @var{from} @key{RET} @var{to} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
741 @kindex % R @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
742 @findex dired-do-rename-regexp
Dave Love <fx@gnu.org>
parents:
diff changeset
743 @itemx % C @var{from} @key{RET} @var{to} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
744 @kindex % C @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
745 @findex dired-do-copy-regexp
Dave Love <fx@gnu.org>
parents:
diff changeset
746 @itemx % H @var{from} @key{RET} @var{to} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
747 @kindex % H @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
748 @findex dired-do-hardlink-regexp
Dave Love <fx@gnu.org>
parents:
diff changeset
749 @itemx % S @var{from} @key{RET} @var{to} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
750 @kindex % S @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
751 @findex dired-do-symlink-regexp
Dave Love <fx@gnu.org>
parents:
diff changeset
752 These four commands rename, copy, make hard links and make soft links,
Dave Love <fx@gnu.org>
parents:
diff changeset
753 in each case computing the new name by regular-expression substitution
Dave Love <fx@gnu.org>
parents:
diff changeset
754 from the name of the old file.
Dave Love <fx@gnu.org>
parents:
diff changeset
755 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
756
Dave Love <fx@gnu.org>
parents:
diff changeset
757 The four regular-expression substitution commands effectively perform
Dave Love <fx@gnu.org>
parents:
diff changeset
758 a search-and-replace on the selected file names in the Dired buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
759 They read two arguments: a regular expression @var{from}, and a
Dave Love <fx@gnu.org>
parents:
diff changeset
760 substitution pattern @var{to}.
Dave Love <fx@gnu.org>
parents:
diff changeset
761
Dave Love <fx@gnu.org>
parents:
diff changeset
762 The commands match each ``old'' file name against the regular
Dave Love <fx@gnu.org>
parents:
diff changeset
763 expression @var{from}, and then replace the matching part with @var{to}.
Dave Love <fx@gnu.org>
parents:
diff changeset
764 You can use @samp{\&} and @samp{\@var{digit}} in @var{to} to refer to
Dave Love <fx@gnu.org>
parents:
diff changeset
765 all or part of what the pattern matched in the old file name, as in
Dave Love <fx@gnu.org>
parents:
diff changeset
766 @code{replace-regexp} (@pxref{Regexp Replace}). If the regular expression
Dave Love <fx@gnu.org>
parents:
diff changeset
767 matches more than once in a file name, only the first match is replaced.
Dave Love <fx@gnu.org>
parents:
diff changeset
768
Dave Love <fx@gnu.org>
parents:
diff changeset
769 For example, @kbd{% R ^.*$ @key{RET} x-\& @key{RET}} renames each
Dave Love <fx@gnu.org>
parents:
diff changeset
770 selected file by prepending @samp{x-} to its name. The inverse of this,
Dave Love <fx@gnu.org>
parents:
diff changeset
771 removing @samp{x-} from the front of each file name, is also possible:
Dave Love <fx@gnu.org>
parents:
diff changeset
772 one method is @kbd{% R ^x-\(.*\)$ @key{RET} \1 @key{RET}}; another is
Dave Love <fx@gnu.org>
parents:
diff changeset
773 @kbd{% R ^x- @key{RET} @key{RET}}. (Use @samp{^} and @samp{$} to anchor
Dave Love <fx@gnu.org>
parents:
diff changeset
774 matches that should span the whole filename.)
Dave Love <fx@gnu.org>
parents:
diff changeset
775
Dave Love <fx@gnu.org>
parents:
diff changeset
776 Normally, the replacement process does not consider the files'
Dave Love <fx@gnu.org>
parents:
diff changeset
777 directory names; it operates on the file name within the directory. If
Dave Love <fx@gnu.org>
parents:
diff changeset
778 you specify a numeric argument of zero, then replacement affects the
37519
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
779 entire absolute file name including directory name. (Non-zero
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
780 argument specifies the number of files to operate on.)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
781
Dave Love <fx@gnu.org>
parents:
diff changeset
782 Often you will want to select the set of files to operate on using the
Dave Love <fx@gnu.org>
parents:
diff changeset
783 same @var{regexp} that you will use to operate on them. To do this,
Dave Love <fx@gnu.org>
parents:
diff changeset
784 mark those files with @kbd{% m @var{regexp} @key{RET}}, then use the
Dave Love <fx@gnu.org>
parents:
diff changeset
785 same regular expression in the command to operate on the files. To make
Dave Love <fx@gnu.org>
parents:
diff changeset
786 this easier, the @kbd{%} commands to operate on files use the last
Dave Love <fx@gnu.org>
parents:
diff changeset
787 regular expression specified in any @kbd{%} command as a default.
Dave Love <fx@gnu.org>
parents:
diff changeset
788
Dave Love <fx@gnu.org>
parents:
diff changeset
789 @node Comparison in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
790 @section File Comparison with Dired
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
791 @cindex file comparison (in Dired)
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
792 @cindex compare files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
793
Dave Love <fx@gnu.org>
parents:
diff changeset
794 Here are two Dired commands that compare specified files using
Dave Love <fx@gnu.org>
parents:
diff changeset
795 @code{diff}.
Dave Love <fx@gnu.org>
parents:
diff changeset
796
Dave Love <fx@gnu.org>
parents:
diff changeset
797 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
798 @item =
Dave Love <fx@gnu.org>
parents:
diff changeset
799 @findex dired-diff
Dave Love <fx@gnu.org>
parents:
diff changeset
800 @kindex = @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
801 Compare the current file (the file at point) with another file (the file
Dave Love <fx@gnu.org>
parents:
diff changeset
802 at the mark) using the @code{diff} program (@code{dired-diff}). The
Dave Love <fx@gnu.org>
parents:
diff changeset
803 file at the mark is the first argument of @code{diff}, and the file at
37549
b7c260d40c0b (Comparison in Dired): Make it clear that ``the mark'' is settable by C-SPC.
Eli Zaretskii <eliz@gnu.org>
parents: 37519
diff changeset
804 point is the second argument. Use @kbd{C-@key{SPC}}
b7c260d40c0b (Comparison in Dired): Make it clear that ``the mark'' is settable by C-SPC.
Eli Zaretskii <eliz@gnu.org>
parents: 37519
diff changeset
805 (@code{set-mark-command}) to set the mark at the first file's line
b7c260d40c0b (Comparison in Dired): Make it clear that ``the mark'' is settable by C-SPC.
Eli Zaretskii <eliz@gnu.org>
parents: 37519
diff changeset
806 (@pxref{Setting Mark}), since @code{dired-diff} ignores the files marked
b7c260d40c0b (Comparison in Dired): Make it clear that ``the mark'' is settable by C-SPC.
Eli Zaretskii <eliz@gnu.org>
parents: 37519
diff changeset
807 with the Dired's @kbd{m} command.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
808
Dave Love <fx@gnu.org>
parents:
diff changeset
809 @findex dired-backup-diff
Dave Love <fx@gnu.org>
parents:
diff changeset
810 @kindex M-= @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
811 @item M-=
Dave Love <fx@gnu.org>
parents:
diff changeset
812 Compare the current file with its latest backup file
Dave Love <fx@gnu.org>
parents:
diff changeset
813 (@code{dired-backup-diff}). If the current file is itself a backup,
Dave Love <fx@gnu.org>
parents:
diff changeset
814 compare it with the file it is a backup of; this way, you can compare
Dave Love <fx@gnu.org>
parents:
diff changeset
815 a file with any backup version of your choice.
Dave Love <fx@gnu.org>
parents:
diff changeset
816
Dave Love <fx@gnu.org>
parents:
diff changeset
817 The backup file is the first file given to @code{diff}.
Dave Love <fx@gnu.org>
parents:
diff changeset
818 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
819
Dave Love <fx@gnu.org>
parents:
diff changeset
820 @node Subdirectories in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
821 @section Subdirectories in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
822 @cindex subdirectories in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
823 @cindex expanding subdirectories in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
824
Dave Love <fx@gnu.org>
parents:
diff changeset
825 A Dired buffer displays just one directory in the normal case;
Dave Love <fx@gnu.org>
parents:
diff changeset
826 but you can optionally include its subdirectories as well.
Dave Love <fx@gnu.org>
parents:
diff changeset
827
Dave Love <fx@gnu.org>
parents:
diff changeset
828 The simplest way to include multiple directories in one Dired buffer is
Dave Love <fx@gnu.org>
parents:
diff changeset
829 to specify the options @samp{-lR} for running @code{ls}. (If you give a
Dave Love <fx@gnu.org>
parents:
diff changeset
830 numeric argument when you run Dired, then you can specify these options
Dave Love <fx@gnu.org>
parents:
diff changeset
831 in the minibuffer.) That produces a recursive directory listing showing
Dave Love <fx@gnu.org>
parents:
diff changeset
832 all subdirectories at all levels.
Dave Love <fx@gnu.org>
parents:
diff changeset
833
Dave Love <fx@gnu.org>
parents:
diff changeset
834 But usually all the subdirectories are too many; usually you will
Dave Love <fx@gnu.org>
parents:
diff changeset
835 prefer to include specific subdirectories only. You can do this with
Dave Love <fx@gnu.org>
parents:
diff changeset
836 the @kbd{i} command:
Dave Love <fx@gnu.org>
parents:
diff changeset
837
Dave Love <fx@gnu.org>
parents:
diff changeset
838 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
839 @findex dired-maybe-insert-subdir
Dave Love <fx@gnu.org>
parents:
diff changeset
840 @kindex i @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
841 @item i
Dave Love <fx@gnu.org>
parents:
diff changeset
842 @cindex inserted subdirectory (Dired)
Dave Love <fx@gnu.org>
parents:
diff changeset
843 @cindex in-situ subdirectory (Dired)
Dave Love <fx@gnu.org>
parents:
diff changeset
844 Insert the contents of a subdirectory later in the buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
845 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
846
Dave Love <fx@gnu.org>
parents:
diff changeset
847 Use the @kbd{i} (@code{dired-maybe-insert-subdir}) command on a line
Dave Love <fx@gnu.org>
parents:
diff changeset
848 that describes a file which is a directory. It inserts the contents of
Dave Love <fx@gnu.org>
parents:
diff changeset
849 that directory into the same Dired buffer, and moves there. Inserted
Dave Love <fx@gnu.org>
parents:
diff changeset
850 subdirectory contents follow the top-level directory of the Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
851 buffer, just as they do in @samp{ls -lR} output.
Dave Love <fx@gnu.org>
parents:
diff changeset
852
Dave Love <fx@gnu.org>
parents:
diff changeset
853 If the subdirectory's contents are already present in the buffer, the
Dave Love <fx@gnu.org>
parents:
diff changeset
854 @kbd{i} command just moves to it.
Dave Love <fx@gnu.org>
parents:
diff changeset
855
Dave Love <fx@gnu.org>
parents:
diff changeset
856 In either case, @kbd{i} sets the Emacs mark before moving, so @kbd{C-u
Dave Love <fx@gnu.org>
parents:
diff changeset
857 C-@key{SPC}} takes you back to the old position in the buffer (the line
Dave Love <fx@gnu.org>
parents:
diff changeset
858 describing that subdirectory).
Dave Love <fx@gnu.org>
parents:
diff changeset
859
Dave Love <fx@gnu.org>
parents:
diff changeset
860 Use the @kbd{l} command (@code{dired-do-redisplay}) to update the
36477
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
861 subdirectory's contents. Use @kbd{C-u k} on the subdirectory header
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
862 line to delete the subdirectory. @xref{Dired Updating}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
863
Dave Love <fx@gnu.org>
parents:
diff changeset
864 @node Subdirectory Motion
Dave Love <fx@gnu.org>
parents:
diff changeset
865 @section Moving Over Subdirectories
Dave Love <fx@gnu.org>
parents:
diff changeset
866
Dave Love <fx@gnu.org>
parents:
diff changeset
867 When a Dired buffer lists subdirectories, you can use the page motion
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
868 commands @kbd{C-x [} and @kbd{C-x ]} to move by entire directories
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
869 (@pxref{Pages}).
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
870
Dave Love <fx@gnu.org>
parents:
diff changeset
871 @cindex header line (Dired)
Dave Love <fx@gnu.org>
parents:
diff changeset
872 @cindex directory header lines
Dave Love <fx@gnu.org>
parents:
diff changeset
873 The following commands move across, up and down in the tree of
Dave Love <fx@gnu.org>
parents:
diff changeset
874 directories within one Dired buffer. They move to @dfn{directory header
Dave Love <fx@gnu.org>
parents:
diff changeset
875 lines}, which are the lines that give a directory's name, at the
Dave Love <fx@gnu.org>
parents:
diff changeset
876 beginning of the directory's contents.
Dave Love <fx@gnu.org>
parents:
diff changeset
877
Dave Love <fx@gnu.org>
parents:
diff changeset
878 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
879 @findex dired-next-subdir
Dave Love <fx@gnu.org>
parents:
diff changeset
880 @kindex C-M-n @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
881 @item C-M-n
Dave Love <fx@gnu.org>
parents:
diff changeset
882 Go to next subdirectory header line, regardless of level
Dave Love <fx@gnu.org>
parents:
diff changeset
883 (@code{dired-next-subdir}).
Dave Love <fx@gnu.org>
parents:
diff changeset
884
Dave Love <fx@gnu.org>
parents:
diff changeset
885 @findex dired-prev-subdir
Dave Love <fx@gnu.org>
parents:
diff changeset
886 @kindex C-M-p @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
887 @item C-M-p
Dave Love <fx@gnu.org>
parents:
diff changeset
888 Go to previous subdirectory header line, regardless of level
Dave Love <fx@gnu.org>
parents:
diff changeset
889 (@code{dired-prev-subdir}).
Dave Love <fx@gnu.org>
parents:
diff changeset
890
Dave Love <fx@gnu.org>
parents:
diff changeset
891 @findex dired-tree-up
Dave Love <fx@gnu.org>
parents:
diff changeset
892 @kindex C-M-u @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
893 @item C-M-u
Dave Love <fx@gnu.org>
parents:
diff changeset
894 Go up to the parent directory's header line (@code{dired-tree-up}).
Dave Love <fx@gnu.org>
parents:
diff changeset
895
Dave Love <fx@gnu.org>
parents:
diff changeset
896 @findex dired-tree-down
Dave Love <fx@gnu.org>
parents:
diff changeset
897 @kindex C-M-d @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
898 @item C-M-d
Dave Love <fx@gnu.org>
parents:
diff changeset
899 Go down in the directory tree, to the first subdirectory's header line
Dave Love <fx@gnu.org>
parents:
diff changeset
900 (@code{dired-tree-down}).
Dave Love <fx@gnu.org>
parents:
diff changeset
901
Dave Love <fx@gnu.org>
parents:
diff changeset
902 @findex dired-prev-dirline
Dave Love <fx@gnu.org>
parents:
diff changeset
903 @kindex < @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
904 @item <
Dave Love <fx@gnu.org>
parents:
diff changeset
905 Move up to the previous directory-file line (@code{dired-prev-dirline}).
Dave Love <fx@gnu.org>
parents:
diff changeset
906 These lines are the ones that describe a directory as a file in its
Dave Love <fx@gnu.org>
parents:
diff changeset
907 parent directory.
Dave Love <fx@gnu.org>
parents:
diff changeset
908
Dave Love <fx@gnu.org>
parents:
diff changeset
909 @findex dired-next-dirline
Dave Love <fx@gnu.org>
parents:
diff changeset
910 @kindex > @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
911 @item >
Dave Love <fx@gnu.org>
parents:
diff changeset
912 Move down to the next directory-file line (@code{dired-prev-dirline}).
Dave Love <fx@gnu.org>
parents:
diff changeset
913 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
914
Dave Love <fx@gnu.org>
parents:
diff changeset
915 @node Hiding Subdirectories
Dave Love <fx@gnu.org>
parents:
diff changeset
916 @section Hiding Subdirectories
Dave Love <fx@gnu.org>
parents:
diff changeset
917
Dave Love <fx@gnu.org>
parents:
diff changeset
918 @cindex hiding in Dired (Dired)
Dave Love <fx@gnu.org>
parents:
diff changeset
919 @dfn{Hiding} a subdirectory means to make it invisible, except for its
Dave Love <fx@gnu.org>
parents:
diff changeset
920 header line, via selective display (@pxref{Selective Display}).
Dave Love <fx@gnu.org>
parents:
diff changeset
921
Dave Love <fx@gnu.org>
parents:
diff changeset
922 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
923 @item $
Dave Love <fx@gnu.org>
parents:
diff changeset
924 @findex dired-hide-subdir
Dave Love <fx@gnu.org>
parents:
diff changeset
925 @kindex $ @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
926 Hide or reveal the subdirectory that point is in, and move point to the
Dave Love <fx@gnu.org>
parents:
diff changeset
927 next subdirectory (@code{dired-hide-subdir}). A numeric argument serves
Dave Love <fx@gnu.org>
parents:
diff changeset
928 as a repeat count.
Dave Love <fx@gnu.org>
parents:
diff changeset
929
Dave Love <fx@gnu.org>
parents:
diff changeset
930 @item M-$
Dave Love <fx@gnu.org>
parents:
diff changeset
931 @findex dired-hide-all
Dave Love <fx@gnu.org>
parents:
diff changeset
932 @kindex M-$ @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
933 Hide all subdirectories in this Dired buffer, leaving only their header
Dave Love <fx@gnu.org>
parents:
diff changeset
934 lines (@code{dired-hide-all}). Or, if any subdirectory is currently
Dave Love <fx@gnu.org>
parents:
diff changeset
935 hidden, make all subdirectories visible again. You can use this command
Dave Love <fx@gnu.org>
parents:
diff changeset
936 to get an overview in very deep directory trees or to move quickly to
Dave Love <fx@gnu.org>
parents:
diff changeset
937 subdirectories far away.
Dave Love <fx@gnu.org>
parents:
diff changeset
938 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
939
Dave Love <fx@gnu.org>
parents:
diff changeset
940 Ordinary Dired commands never consider files inside a hidden
Dave Love <fx@gnu.org>
parents:
diff changeset
941 subdirectory. For example, the commands to operate on marked files
Dave Love <fx@gnu.org>
parents:
diff changeset
942 ignore files in hidden directories even if they are marked. Thus you
Dave Love <fx@gnu.org>
parents:
diff changeset
943 can use hiding to temporarily exclude subdirectories from operations
Dave Love <fx@gnu.org>
parents:
diff changeset
944 without having to remove the markers.
Dave Love <fx@gnu.org>
parents:
diff changeset
945
Dave Love <fx@gnu.org>
parents:
diff changeset
946 The subdirectory hiding commands toggle; that is, they hide what was
Dave Love <fx@gnu.org>
parents:
diff changeset
947 visible, and show what was hidden.
Dave Love <fx@gnu.org>
parents:
diff changeset
948
Dave Love <fx@gnu.org>
parents:
diff changeset
949 @node Dired Updating
Dave Love <fx@gnu.org>
parents:
diff changeset
950 @section Updating the Dired Buffer
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
951 @cindex updating Dired buffer
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
952 @cindex refreshing displayed files
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
953
Dave Love <fx@gnu.org>
parents:
diff changeset
954 This section describes commands to update the Dired buffer to reflect
Dave Love <fx@gnu.org>
parents:
diff changeset
955 outside (non-Dired) changes in the directories and files, and to delete
Dave Love <fx@gnu.org>
parents:
diff changeset
956 part of the Dired buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
957
Dave Love <fx@gnu.org>
parents:
diff changeset
958 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
959 @item g
Dave Love <fx@gnu.org>
parents:
diff changeset
960 Update the entire contents of the Dired buffer (@code{revert-buffer}).
Dave Love <fx@gnu.org>
parents:
diff changeset
961
Dave Love <fx@gnu.org>
parents:
diff changeset
962 @item l
Dave Love <fx@gnu.org>
parents:
diff changeset
963 Update the specified files (@code{dired-do-redisplay}).
Dave Love <fx@gnu.org>
parents:
diff changeset
964
Dave Love <fx@gnu.org>
parents:
diff changeset
965 @item k
Dave Love <fx@gnu.org>
parents:
diff changeset
966 Delete the specified @emph{file lines}---not the files, just the lines
Dave Love <fx@gnu.org>
parents:
diff changeset
967 (@code{dired-do-kill-lines}).
Dave Love <fx@gnu.org>
parents:
diff changeset
968
Dave Love <fx@gnu.org>
parents:
diff changeset
969 @item s
Dave Love <fx@gnu.org>
parents:
diff changeset
970 Toggle between alphabetical order and date/time order
Dave Love <fx@gnu.org>
parents:
diff changeset
971 (@code{dired-sort-toggle-or-edit}).
Dave Love <fx@gnu.org>
parents:
diff changeset
972
Dave Love <fx@gnu.org>
parents:
diff changeset
973 @item C-u s @var{switches} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
974 Refresh the Dired buffer using @var{switches} as
Dave Love <fx@gnu.org>
parents:
diff changeset
975 @code{dired-listing-switches}.
Dave Love <fx@gnu.org>
parents:
diff changeset
976 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
977
Dave Love <fx@gnu.org>
parents:
diff changeset
978 @kindex g @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
979 @findex revert-buffer @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
980 Type @kbd{g} (@code{revert-buffer}) to update the contents of the
Dave Love <fx@gnu.org>
parents:
diff changeset
981 Dired buffer, based on changes in the files and directories listed.
Dave Love <fx@gnu.org>
parents:
diff changeset
982 This preserves all marks except for those on files that have vanished.
Dave Love <fx@gnu.org>
parents:
diff changeset
983 Hidden subdirectories are updated but remain hidden.
Dave Love <fx@gnu.org>
parents:
diff changeset
984
Dave Love <fx@gnu.org>
parents:
diff changeset
985 @kindex l @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
986 @findex dired-do-redisplay
Dave Love <fx@gnu.org>
parents:
diff changeset
987 To update only some of the files, type @kbd{l}
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
988 (@code{dired-do-redisplay}). Like the Dired file-operating commands,
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
989 this command operates on the next @var{n} files (or previous
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
990 @minus{}@var{n} files), or on the marked files if any, or on the
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
991 current file. Updating the files means reading their current status,
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
992 then updating their lines in the buffer to indicate that status.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
993
Dave Love <fx@gnu.org>
parents:
diff changeset
994 If you use @kbd{l} on a subdirectory header line, it updates the
Dave Love <fx@gnu.org>
parents:
diff changeset
995 contents of the corresponding subdirectory.
Dave Love <fx@gnu.org>
parents:
diff changeset
996
Dave Love <fx@gnu.org>
parents:
diff changeset
997 @kindex k @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
998 @findex dired-do-kill-lines
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
999 To delete the specified @emph{file lines} from the buffer---not
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
1000 delete the files---type @kbd{k} (@code{dired-do-kill-lines}). Like
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
1001 the file-operating commands, this command operates on the next @var{n}
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
1002 files, or on the marked files if any; but it does not operate on the
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
1003 current file as a last resort.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1004
Dave Love <fx@gnu.org>
parents:
diff changeset
1005 If you kill the line for a file that is a directory, the directory's
Dave Love <fx@gnu.org>
parents:
diff changeset
1006 contents are also deleted from the buffer. Typing @kbd{C-u k} on the
Dave Love <fx@gnu.org>
parents:
diff changeset
1007 header line for a subdirectory is another way to delete a subdirectory
Dave Love <fx@gnu.org>
parents:
diff changeset
1008 from the Dired buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
1009
Dave Love <fx@gnu.org>
parents:
diff changeset
1010 The @kbd{g} command brings back any individual lines that you have
Dave Love <fx@gnu.org>
parents:
diff changeset
1011 killed in this way, but not subdirectories---you must use @kbd{i} to
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
1012 reinsert a subdirectory.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1013
Dave Love <fx@gnu.org>
parents:
diff changeset
1014 @cindex Dired sorting
Dave Love <fx@gnu.org>
parents:
diff changeset
1015 @cindex sorting Dired buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
1016 @kindex s @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
1017 @findex dired-sort-toggle-or-edit
Dave Love <fx@gnu.org>
parents:
diff changeset
1018 The files in a Dired buffers are normally listed in alphabetical order
Dave Love <fx@gnu.org>
parents:
diff changeset
1019 by file names. Alternatively Dired can sort them by date/time. The
Dave Love <fx@gnu.org>
parents:
diff changeset
1020 Dired command @kbd{s} (@code{dired-sort-toggle-or-edit}) switches
Dave Love <fx@gnu.org>
parents:
diff changeset
1021 between these two sorting modes. The mode line in a Dired buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
1022 indicates which way it is currently sorted---by name, or by date.
Dave Love <fx@gnu.org>
parents:
diff changeset
1023
Dave Love <fx@gnu.org>
parents:
diff changeset
1024 @kbd{C-u s @var{switches} @key{RET}} lets you specify a new value for
Dave Love <fx@gnu.org>
parents:
diff changeset
1025 @code{dired-listing-switches}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1026
Dave Love <fx@gnu.org>
parents:
diff changeset
1027 @node Dired and Find
Dave Love <fx@gnu.org>
parents:
diff changeset
1028 @section Dired and @code{find}
Dave Love <fx@gnu.org>
parents:
diff changeset
1029 @cindex @code{find} and Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
1030
Dave Love <fx@gnu.org>
parents:
diff changeset
1031 You can select a set of files for display in a Dired buffer more
Dave Love <fx@gnu.org>
parents:
diff changeset
1032 flexibly by using the @code{find} utility to choose the files.
Dave Love <fx@gnu.org>
parents:
diff changeset
1033
Dave Love <fx@gnu.org>
parents:
diff changeset
1034 @findex find-name-dired
Dave Love <fx@gnu.org>
parents:
diff changeset
1035 To search for files with names matching a wildcard pattern use
Dave Love <fx@gnu.org>
parents:
diff changeset
1036 @kbd{M-x find-name-dired}. It reads arguments @var{directory} and
Dave Love <fx@gnu.org>
parents:
diff changeset
1037 @var{pattern}, and chooses all the files in @var{directory} or its
Dave Love <fx@gnu.org>
parents:
diff changeset
1038 subdirectories whose individual names match @var{pattern}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1039
Dave Love <fx@gnu.org>
parents:
diff changeset
1040 The files thus chosen are displayed in a Dired buffer in which the
Dave Love <fx@gnu.org>
parents:
diff changeset
1041 ordinary Dired commands are available.
Dave Love <fx@gnu.org>
parents:
diff changeset
1042
Dave Love <fx@gnu.org>
parents:
diff changeset
1043 @findex find-grep-dired
Dave Love <fx@gnu.org>
parents:
diff changeset
1044 If you want to test the contents of files, rather than their names,
Dave Love <fx@gnu.org>
parents:
diff changeset
1045 use @kbd{M-x find-grep-dired}. This command reads two minibuffer
Dave Love <fx@gnu.org>
parents:
diff changeset
1046 arguments, @var{directory} and @var{regexp}; it chooses all the files in
Dave Love <fx@gnu.org>
parents:
diff changeset
1047 @var{directory} or its subdirectories that contain a match for
Dave Love <fx@gnu.org>
parents:
diff changeset
1048 @var{regexp}. It works by running the programs @code{find} and
Dave Love <fx@gnu.org>
parents:
diff changeset
1049 @code{grep}. See also @kbd{M-x grep-find}, in @ref{Compilation}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1050 Remember to write the regular expression for @code{grep}, not for Emacs.
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
1051 (An alternative method of showing files whose contents match a given
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
1052 regexp is the @kbd{% g @var{regexp}} command, see @ref{Marks vs Flags}.)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1053
Dave Love <fx@gnu.org>
parents:
diff changeset
1054 @findex find-dired
Dave Love <fx@gnu.org>
parents:
diff changeset
1055 The most general command in this series is @kbd{M-x find-dired}, which
Dave Love <fx@gnu.org>
parents:
diff changeset
1056 lets you specify any condition that @code{find} can test. It takes two
Dave Love <fx@gnu.org>
parents:
diff changeset
1057 minibuffer arguments, @var{directory} and @var{find-args}; it runs
Dave Love <fx@gnu.org>
parents:
diff changeset
1058 @code{find} in @var{directory}, passing @var{find-args} to tell
Dave Love <fx@gnu.org>
parents:
diff changeset
1059 @code{find} what condition to test. To use this command, you need to
Dave Love <fx@gnu.org>
parents:
diff changeset
1060 know how to use @code{find}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1061
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
1062 @findex locate
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
1063 @findex locate-with-filter
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
1064 @cindex file database (locate)
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
1065 @vindex locate-command
38124
72ea86c1d394 Proofreading fixes from Tim Goodwin <tjg@star.le.ac.uk>.
Eli Zaretskii <eliz@gnu.org>
parents: 37993
diff changeset
1066 @kbd{M-x locate} provides a similar interface to the @code{locate}
38156
e46c555b62c8 Minor change.
Richard M. Stallman <rms@gnu.org>
parents: 38124
diff changeset
1067 program. @kbd{M-x locate-with-filter} is similar, but keeps only lines
38124
72ea86c1d394 Proofreading fixes from Tim Goodwin <tjg@star.le.ac.uk>.
Eli Zaretskii <eliz@gnu.org>
parents: 37993
diff changeset
1068 matching a given regular expression.
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
1069
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1070 @vindex find-ls-option
Dave Love <fx@gnu.org>
parents:
diff changeset
1071 The format of listing produced by these commands is controlled by the
Dave Love <fx@gnu.org>
parents:
diff changeset
1072 variable @code{find-ls-option}, whose default value specifies using
Dave Love <fx@gnu.org>
parents:
diff changeset
1073 options @samp{-ld} for @code{ls}. If your listings are corrupted, you
Dave Love <fx@gnu.org>
parents:
diff changeset
1074 may need to change the value of this variable.