annotate man/dired.texi @ 65691:cb3218d6e82a

Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-561 Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 122-124) - Update from CVS: lisp/mm-url.el (mm-url-decode-entities): Fix regexp. - Update from CVS 2005-09-22 Reiner Steib <Reiner.Steib@gmx.de> * lisp/gnus/spam-report.el (spam-report-url-ping-plain): Use gnus-extended-version as User-Agent. * lisp/gnus/gnus-agent.el (gnus-agent-synchronize-flags): Explain why the default value is nil. 2005-09-20 Lars Magne Ingebrigtsen <larsi@gnus.org> * lisp/gnus/gnus-agent.el (gnus-agent-synchronize-flags): Switch the default to nil, to be able to use Gnus at all. If the default switches to something else, then the function should be fixed not be exceedingly slow. 2005-09-19 Reiner Steib <Reiner.Steib@gmx.de> * lisp/gnus/mm-url.el (mm-url-decode-entities): Fix regexp. 2005-09-22 Katsumi Yamaoka <yamaoka@jpl.org> * man/gnus.texi (Mail): Fix gnus-confirm-mail-reply-to-news entry.
author Miles Bader <miles@gnu.org>
date Sun, 25 Sep 2005 21:26:33 +0000
parents eed6291cbc92
children dc2d5a6655a3 2d92f5c9d6ae
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.
64890
3723093a21fd Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 63006
diff changeset
2 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
3723093a21fd Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 63006
diff changeset
3 @c 2002, 2003, 2004, 2005 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.
61047
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
42 * Wdired:: Operating on files by editing the Dired buffer.
60791
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
43 * Misc: Misc Dired Features. Various other features.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
44 @end menu
Dave Love <fx@gnu.org>
parents:
diff changeset
45
Dave Love <fx@gnu.org>
parents:
diff changeset
46 @node Dired Enter
Dave Love <fx@gnu.org>
parents:
diff changeset
47 @section Entering Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
48
Dave Love <fx@gnu.org>
parents:
diff changeset
49 @findex dired
Dave Love <fx@gnu.org>
parents:
diff changeset
50 @kindex C-x d
Dave Love <fx@gnu.org>
parents:
diff changeset
51 @vindex dired-listing-switches
60103
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
52 To invoke Dired, do @kbd{C-x d} or @kbd{M-x dired}. The command
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
53 reads a directory name or wildcard file name pattern as a minibuffer
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
54 argument to specify which files to list. @kbd{C-x C-f} given a
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
55 directory name also invokes Dired. Where @code{dired} differs from
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
56 @code{list-directory} is that it puts the buffer into Dired mode, so
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
57 that the special commands of Dired are available.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
58
Dave Love <fx@gnu.org>
parents:
diff changeset
59 The variable @code{dired-listing-switches} specifies the options to
60103
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
60 give to @code{ls} for listing the directory; this string @emph{must} contain
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
61 @samp{-l}. If you use a numeric prefix argument with the @code{dired}
Dave Love <fx@gnu.org>
parents:
diff changeset
62 command, you can specify the @code{ls} switches with the minibuffer
56113
c4c0d60fa2da (Dired Enter): Mention conditions on `ls' switches.
Luc Teirlinck <teirllm@auburn.edu>
parents: 56046
diff changeset
63 before you enter the directory specification. No matter how they are
c4c0d60fa2da (Dired Enter): Mention conditions on `ls' switches.
Luc Teirlinck <teirllm@auburn.edu>
parents: 56046
diff changeset
64 specified, the @code{ls} switches should all be short options (that
c4c0d60fa2da (Dired Enter): Mention conditions on `ls' switches.
Luc Teirlinck <teirllm@auburn.edu>
parents: 56046
diff changeset
65 is, single characters) requiring no arguments.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
66
Dave Love <fx@gnu.org>
parents:
diff changeset
67 @findex dired-other-window
Dave Love <fx@gnu.org>
parents:
diff changeset
68 @kindex C-x 4 d
Dave Love <fx@gnu.org>
parents:
diff changeset
69 @findex dired-other-frame
Dave Love <fx@gnu.org>
parents:
diff changeset
70 @kindex C-x 5 d
Dave Love <fx@gnu.org>
parents:
diff changeset
71 To display the Dired buffer in another window rather than in the
Dave Love <fx@gnu.org>
parents:
diff changeset
72 selected window, use @kbd{C-x 4 d} (@code{dired-other-window}) instead
Dave Love <fx@gnu.org>
parents:
diff changeset
73 of @kbd{C-x d}. @kbd{C-x 5 d} (@code{dired-other-frame}) uses a
Dave Love <fx@gnu.org>
parents:
diff changeset
74 separate frame to display the Dired buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
75
37993
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
76 @node Dired Navigation
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
77 @section Navigation in the Dired Buffer
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
78
Dave Love <fx@gnu.org>
parents:
diff changeset
79 @kindex C-n @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
80 @kindex C-p @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
81 All the usual Emacs cursor motion commands are available in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
82 buffers. Some special-purpose cursor motion commands are also
Dave Love <fx@gnu.org>
parents:
diff changeset
83 provided. The keys @kbd{C-n} and @kbd{C-p} are redefined to put the
Dave Love <fx@gnu.org>
parents:
diff changeset
84 cursor at the beginning of the file name on the line, rather than at the
Dave Love <fx@gnu.org>
parents:
diff changeset
85 beginning of the line.
Dave Love <fx@gnu.org>
parents:
diff changeset
86
Dave Love <fx@gnu.org>
parents:
diff changeset
87 @kindex SPC @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
88 For extra convenience, @key{SPC} and @kbd{n} in Dired are equivalent
Dave Love <fx@gnu.org>
parents:
diff changeset
89 to @kbd{C-n}. @kbd{p} is equivalent to @kbd{C-p}. (Moving by lines is
Dave Love <fx@gnu.org>
parents:
diff changeset
90 so common in Dired that it deserves to be easy to type.) @key{DEL}
Dave Love <fx@gnu.org>
parents:
diff changeset
91 (move up and unflag) is often useful simply for moving up.
Dave Love <fx@gnu.org>
parents:
diff changeset
92
52576
a90f7b4afc00 (Misc Dired Commands): New node.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
93 @findex dired-goto-file
58926
cf0908fe7bb0 (Dired Navigation): Add @r{(Dired)} to M-g.
Juri Linkov <juri@jurta.org>
parents: 56469
diff changeset
94 @kindex M-g @r{(Dired)}
52576
a90f7b4afc00 (Misc Dired Commands): New node.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
95 @kbd{M-g} (@code{dired-goto-file}) moves point to the line that
a90f7b4afc00 (Misc Dired Commands): New node.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
96 describes a specified file or directory.
a90f7b4afc00 (Misc Dired Commands): New node.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
97
37993
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
98 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
99 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
100
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
101 @node Dired Deletion
Dave Love <fx@gnu.org>
parents:
diff changeset
102 @section Deleting Files with Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
103 @cindex flagging files (in Dired)
Dave Love <fx@gnu.org>
parents:
diff changeset
104 @cindex deleting files (in Dired)
Dave Love <fx@gnu.org>
parents:
diff changeset
105
38745
5464ee1ba8e2 Minor cleanups.
Richard M. Stallman <rms@gnu.org>
parents: 38156
diff changeset
106 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
107 deletion, then delete the files that were flagged.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
108
Dave Love <fx@gnu.org>
parents:
diff changeset
109 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
110 @item d
Dave Love <fx@gnu.org>
parents:
diff changeset
111 Flag this file for deletion.
Dave Love <fx@gnu.org>
parents:
diff changeset
112 @item u
Dave Love <fx@gnu.org>
parents:
diff changeset
113 Remove deletion flag on this line.
Dave Love <fx@gnu.org>
parents:
diff changeset
114 @item @key{DEL}
Dave Love <fx@gnu.org>
parents:
diff changeset
115 Move point to previous line and remove the deletion flag on that line.
Dave Love <fx@gnu.org>
parents:
diff changeset
116 @item x
Dave Love <fx@gnu.org>
parents:
diff changeset
117 Delete the files that are flagged for deletion.
Dave Love <fx@gnu.org>
parents:
diff changeset
118 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
119
Dave Love <fx@gnu.org>
parents:
diff changeset
120 @kindex d @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
121 @findex dired-flag-file-deletion
Dave Love <fx@gnu.org>
parents:
diff changeset
122 You can flag a file for deletion by moving to the line describing the
Dave Love <fx@gnu.org>
parents:
diff changeset
123 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
124 the beginning of the line. This command moves point to the next line,
Dave Love <fx@gnu.org>
parents:
diff changeset
125 so that repeated @kbd{d} commands flag successive files. A numeric
Dave Love <fx@gnu.org>
parents:
diff changeset
126 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
127
40617
aeebb5c33587 (Dired Deletion, Operating On Files): Add index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 39287
diff changeset
128 @cindex recursive deletion
27222
e7bd44d5597b Recursive deletes, copies. dired-do-apply. `?' in shell command.
Dave Love <fx@gnu.org>
parents: 25829
diff changeset
129 @vindex dired-recursive-deletes
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
130 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
131 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
132 contents). The default is to delete only empty directories.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
133
Dave Love <fx@gnu.org>
parents:
diff changeset
134 @kindex u @r{(Dired deletion)}
Dave Love <fx@gnu.org>
parents:
diff changeset
135 @kindex DEL @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
136 The files are flagged for deletion rather than deleted immediately to
Dave Love <fx@gnu.org>
parents:
diff changeset
137 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
138 Dired to delete the flagged files, you can remove deletion flags using
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
139 the commands @kbd{u} and @key{DEL}. @kbd{u} (@code{dired-unmark}) works
Dave Love <fx@gnu.org>
parents:
diff changeset
140 just like @kbd{d}, but removes flags rather than making flags.
Dave Love <fx@gnu.org>
parents:
diff changeset
141 @key{DEL} (@code{dired-unmark-backward}) moves upward, removing flags;
Dave Love <fx@gnu.org>
parents:
diff changeset
142 it is like @kbd{u} with argument @minus{}1.
Dave Love <fx@gnu.org>
parents:
diff changeset
143
Dave Love <fx@gnu.org>
parents:
diff changeset
144 @kindex x @r{(Dired)}
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
145 @findex dired-do-flagged-delete
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
146 @cindex expunging (Dired)
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
147 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
148 (This is also known as @dfn{expunging}.)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
149 This command first displays a list of all the file names flagged for
Dave Love <fx@gnu.org>
parents:
diff changeset
150 deletion, and requests confirmation with @kbd{yes}. If you confirm,
Dave Love <fx@gnu.org>
parents:
diff changeset
151 Dired deletes the flagged files, then deletes their lines from the text
Dave Love <fx@gnu.org>
parents:
diff changeset
152 of the Dired buffer. The shortened Dired buffer remains selected.
Dave Love <fx@gnu.org>
parents:
diff changeset
153
Dave Love <fx@gnu.org>
parents:
diff changeset
154 If you answer @kbd{no} or quit with @kbd{C-g} when asked to confirm, you
Dave Love <fx@gnu.org>
parents:
diff changeset
155 return immediately to Dired, with the deletion flags still present in
Dave Love <fx@gnu.org>
parents:
diff changeset
156 the buffer, and no files actually deleted.
Dave Love <fx@gnu.org>
parents:
diff changeset
157
Dave Love <fx@gnu.org>
parents:
diff changeset
158 @node Flagging Many Files
Dave Love <fx@gnu.org>
parents:
diff changeset
159 @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
160 @cindex flagging many files for deletion (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
161
Dave Love <fx@gnu.org>
parents:
diff changeset
162 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
163 @item #
Dave Love <fx@gnu.org>
parents:
diff changeset
164 Flag all auto-save files (files whose names start and end with @samp{#})
Dave Love <fx@gnu.org>
parents:
diff changeset
165 for deletion (@pxref{Auto Save}).
Dave Love <fx@gnu.org>
parents:
diff changeset
166
Dave Love <fx@gnu.org>
parents:
diff changeset
167 @item ~
Dave Love <fx@gnu.org>
parents:
diff changeset
168 Flag all backup files (files whose names end with @samp{~}) for deletion
Dave Love <fx@gnu.org>
parents:
diff changeset
169 (@pxref{Backup}).
Dave Love <fx@gnu.org>
parents:
diff changeset
170
Dave Love <fx@gnu.org>
parents:
diff changeset
171 @item &
Dave Love <fx@gnu.org>
parents:
diff changeset
172 Flag for deletion all files with certain kinds of names, names that
Dave Love <fx@gnu.org>
parents:
diff changeset
173 suggest you could easily create the files again.
Dave Love <fx@gnu.org>
parents:
diff changeset
174
Dave Love <fx@gnu.org>
parents:
diff changeset
175 @item .@: @r{(Period)}
Dave Love <fx@gnu.org>
parents:
diff changeset
176 Flag excess numeric backup files for deletion. The oldest and newest
Dave Love <fx@gnu.org>
parents:
diff changeset
177 few backup files of any one file are exempt; the middle ones are
Dave Love <fx@gnu.org>
parents:
diff changeset
178 flagged.
Dave Love <fx@gnu.org>
parents:
diff changeset
179
Dave Love <fx@gnu.org>
parents:
diff changeset
180 @item % d @var{regexp} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
181 Flag for deletion all files whose names match the regular expression
Dave Love <fx@gnu.org>
parents:
diff changeset
182 @var{regexp}.
Dave Love <fx@gnu.org>
parents:
diff changeset
183 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
184
Dave Love <fx@gnu.org>
parents:
diff changeset
185 The @kbd{#}, @kbd{~}, @kbd{&}, and @kbd{.} commands flag many files for
Dave Love <fx@gnu.org>
parents:
diff changeset
186 deletion, based on their file names. These commands are useful
Dave Love <fx@gnu.org>
parents:
diff changeset
187 precisely because they do not themselves delete any files; you can
Dave Love <fx@gnu.org>
parents:
diff changeset
188 remove the deletion flags from any flagged files that you really wish to
Dave Love <fx@gnu.org>
parents:
diff changeset
189 keep.@refill
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-garbage-files
Dave Love <fx@gnu.org>
parents:
diff changeset
193 @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
194 @cindex deleting some backup files
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
195 @kbd{&} (@code{dired-flag-garbage-files}) flags files whose names
Dave Love <fx@gnu.org>
parents:
diff changeset
196 match the regular expression specified by the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
197 @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
198 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
199 @samp{.rej} files produced by @code{patch}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
200
Dave Love <fx@gnu.org>
parents:
diff changeset
201 @kindex # @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
202 @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
203 @cindex deleting auto-save files
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
204 @kbd{#} (@code{dired-flag-auto-save-files}) flags for deletion all
Dave Love <fx@gnu.org>
parents:
diff changeset
205 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
206 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
207
72ea86c1d394 Proofreading fixes from Tim Goodwin <tjg@star.le.ac.uk>.
Eli Zaretskii <eliz@gnu.org>
parents: 37993
diff changeset
208 @kindex ~ @r{(Dired)}
72ea86c1d394 Proofreading fixes from Tim Goodwin <tjg@star.le.ac.uk>.
Eli Zaretskii <eliz@gnu.org>
parents: 37993
diff changeset
209 @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
210 @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
211 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
212 whose names end in @samp{~}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
213
Dave Love <fx@gnu.org>
parents:
diff changeset
214 @kindex . @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
215 @vindex dired-kept-versions
Dave Love <fx@gnu.org>
parents:
diff changeset
216 @findex dired-clean-directory
Dave Love <fx@gnu.org>
parents:
diff changeset
217 @kbd{.} (period, @code{dired-clean-directory}) flags just some of the
Dave Love <fx@gnu.org>
parents:
diff changeset
218 backup files for deletion: all but the oldest few and newest few backups
Dave Love <fx@gnu.org>
parents:
diff changeset
219 of any one file. Normally @code{dired-kept-versions} (@strong{not}
Dave Love <fx@gnu.org>
parents:
diff changeset
220 @code{kept-new-versions}; that applies only when saving) specifies the
Dave Love <fx@gnu.org>
parents:
diff changeset
221 number of newest versions of each file to keep, and
Dave Love <fx@gnu.org>
parents:
diff changeset
222 @code{kept-old-versions} specifies the number of oldest versions to
Dave Love <fx@gnu.org>
parents:
diff changeset
223 keep.
Dave Love <fx@gnu.org>
parents:
diff changeset
224
Dave Love <fx@gnu.org>
parents:
diff changeset
225 Period with a positive numeric argument, as in @kbd{C-u 3 .},
Dave Love <fx@gnu.org>
parents:
diff changeset
226 specifies the number of newest versions to keep, overriding
Dave Love <fx@gnu.org>
parents:
diff changeset
227 @code{dired-kept-versions}. A negative numeric argument overrides
Dave Love <fx@gnu.org>
parents:
diff changeset
228 @code{kept-old-versions}, using minus the value of the argument to
Dave Love <fx@gnu.org>
parents:
diff changeset
229 specify the number of oldest versions of each file to keep.
Dave Love <fx@gnu.org>
parents:
diff changeset
230
Dave Love <fx@gnu.org>
parents:
diff changeset
231 @findex dired-flag-files-regexp
Dave Love <fx@gnu.org>
parents:
diff changeset
232 @kindex % d @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
233 The @kbd{% d} command flags all files whose names match a specified
Dave Love <fx@gnu.org>
parents:
diff changeset
234 regular expression (@code{dired-flag-files-regexp}). Only the
Dave Love <fx@gnu.org>
parents:
diff changeset
235 non-directory part of the file name is used in matching. You can use
Dave Love <fx@gnu.org>
parents:
diff changeset
236 @samp{^} and @samp{$} to anchor matches. You can exclude subdirectories
Dave Love <fx@gnu.org>
parents:
diff changeset
237 by hiding them (@pxref{Hiding Subdirectories}).
Dave Love <fx@gnu.org>
parents:
diff changeset
238
Dave Love <fx@gnu.org>
parents:
diff changeset
239 @node Dired Visiting
Dave Love <fx@gnu.org>
parents:
diff changeset
240 @section Visiting Files in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
241
Dave Love <fx@gnu.org>
parents:
diff changeset
242 There are several Dired commands for visiting or examining the files
Dave Love <fx@gnu.org>
parents:
diff changeset
243 listed in the Dired buffer. All of them apply to the current line's
Dave Love <fx@gnu.org>
parents:
diff changeset
244 file; if that file is really a directory, these commands invoke Dired on
Dave Love <fx@gnu.org>
parents:
diff changeset
245 that subdirectory (making a separate Dired buffer).
Dave Love <fx@gnu.org>
parents:
diff changeset
246
Dave Love <fx@gnu.org>
parents:
diff changeset
247 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
248 @item f
Dave Love <fx@gnu.org>
parents:
diff changeset
249 @kindex f @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
250 @findex dired-find-file
Dave Love <fx@gnu.org>
parents:
diff changeset
251 Visit the file described on the current line, like typing @kbd{C-x C-f}
Dave Love <fx@gnu.org>
parents:
diff changeset
252 and supplying that file name (@code{dired-find-file}). @xref{Visiting}.
Dave Love <fx@gnu.org>
parents:
diff changeset
253
Dave Love <fx@gnu.org>
parents:
diff changeset
254 @item @key{RET}
37993
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
255 @itemx e
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
256 @kindex RET @r{(Dired)}
37993
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
257 @kindex e @r{(Dired)}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
258 Equivalent to @kbd{f}.
Dave Love <fx@gnu.org>
parents:
diff changeset
259
60103
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
260 @ignore @c This command seems too risky to document at all.
30114
50c69ce6e1b0 Describe dired-find-alternate-file.
Gerd Moellmann <gerd@gnu.org>
parents: 28126
diff changeset
261 @item a
50c69ce6e1b0 Describe dired-find-alternate-file.
Gerd Moellmann <gerd@gnu.org>
parents: 28126
diff changeset
262 @kindex a @r{(Dired)}
50c69ce6e1b0 Describe dired-find-alternate-file.
Gerd Moellmann <gerd@gnu.org>
parents: 28126
diff changeset
263 @findex dired-find-alternate-file
50c69ce6e1b0 Describe dired-find-alternate-file.
Gerd Moellmann <gerd@gnu.org>
parents: 28126
diff changeset
264 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
265 that of an alternate file or directory (@code{dired-find-alternate-file}).
60103
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
266 @end ignore
30114
50c69ce6e1b0 Describe dired-find-alternate-file.
Gerd Moellmann <gerd@gnu.org>
parents: 28126
diff changeset
267
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
268 @item o
Dave Love <fx@gnu.org>
parents:
diff changeset
269 @kindex o @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
270 @findex dired-find-file-other-window
Dave Love <fx@gnu.org>
parents:
diff changeset
271 Like @kbd{f}, but uses another window to display the file's buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
272 (@code{dired-find-file-other-window}). The Dired buffer remains visible
Dave Love <fx@gnu.org>
parents:
diff changeset
273 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
274 file. @xref{Windows}.
Dave Love <fx@gnu.org>
parents:
diff changeset
275
Dave Love <fx@gnu.org>
parents:
diff changeset
276 @item C-o
Dave Love <fx@gnu.org>
parents:
diff changeset
277 @kindex C-o @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
278 @findex dired-display-file
Dave Love <fx@gnu.org>
parents:
diff changeset
279 Visit the file described on the current line, and display the buffer in
Dave Love <fx@gnu.org>
parents:
diff changeset
280 another window, but do not select that window (@code{dired-display-file}).
Dave Love <fx@gnu.org>
parents:
diff changeset
281
60103
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
282 @item Mouse-1
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
283 @itemx Mouse-2
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
284 @findex dired-mouse-find-file-other-window
Dave Love <fx@gnu.org>
parents:
diff changeset
285 Visit the file named by the line you click on
Dave Love <fx@gnu.org>
parents:
diff changeset
286 (@code{dired-mouse-find-file-other-window}). This uses another window
Dave Love <fx@gnu.org>
parents:
diff changeset
287 to display the file, like the @kbd{o} command.
Dave Love <fx@gnu.org>
parents:
diff changeset
288
Dave Love <fx@gnu.org>
parents:
diff changeset
289 @item v
Dave Love <fx@gnu.org>
parents:
diff changeset
290 @kindex v @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
291 @findex dired-view-file
61300
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
292 View the file described on the current line, using @kbd{M-x view-file}
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
293 (@code{dired-view-file}). Viewing a file with @code{view-file} is
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
294 like visiting it, but is slanted toward moving around in the file
46203
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
295 conveniently and does not allow changing the file. @xref{Misc File
61300
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
296 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
297
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
298 @item ^
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
299 @kindex ^ @r{(Dired)}
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
300 @findex dired-up-directory
1ff0891cec4c Change "Dired Commands" to "Dired Navigation". Move the general
Eli Zaretskii <eliz@gnu.org>
parents: 37549
diff changeset
301 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
302 (@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
303 the parent directory's line and typing @kbd{f} there.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
304 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
305
Dave Love <fx@gnu.org>
parents:
diff changeset
306 @node Marks vs Flags
Dave Love <fx@gnu.org>
parents:
diff changeset
307 @section Dired Marks vs. Flags
Dave Love <fx@gnu.org>
parents:
diff changeset
308
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
309 @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
310 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
311 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
312 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
313 exception being @kbd{x} which deletes the flagged files.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
314
Dave Love <fx@gnu.org>
parents:
diff changeset
315 Here are some commands for marking with @samp{*}, or for unmarking or
Dave Love <fx@gnu.org>
parents:
diff changeset
316 operating on marks. (@xref{Dired Deletion}, for commands to flag and
Dave Love <fx@gnu.org>
parents:
diff changeset
317 unflag files.)
Dave Love <fx@gnu.org>
parents:
diff changeset
318
Dave Love <fx@gnu.org>
parents:
diff changeset
319 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
320 @item m
Dave Love <fx@gnu.org>
parents:
diff changeset
321 @itemx * m
Dave Love <fx@gnu.org>
parents:
diff changeset
322 @kindex m @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
323 @kindex * m @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
324 @findex dired-mark
Dave Love <fx@gnu.org>
parents:
diff changeset
325 Mark the current file with @samp{*} (@code{dired-mark}). With a numeric
Dave Love <fx@gnu.org>
parents:
diff changeset
326 argument @var{n}, mark the next @var{n} files starting with the current
Dave Love <fx@gnu.org>
parents:
diff changeset
327 file. (If @var{n} is negative, mark the previous @minus{}@var{n}
Dave Love <fx@gnu.org>
parents:
diff changeset
328 files.)
Dave Love <fx@gnu.org>
parents:
diff changeset
329
Dave Love <fx@gnu.org>
parents:
diff changeset
330 @item * *
Dave Love <fx@gnu.org>
parents:
diff changeset
331 @kindex * * @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
332 @findex dired-mark-executables
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
333 @cindex marking executable files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
334 Mark all executable files with @samp{*}
Dave Love <fx@gnu.org>
parents:
diff changeset
335 (@code{dired-mark-executables}). With a numeric argument, unmark all
Dave Love <fx@gnu.org>
parents:
diff changeset
336 those files.
Dave Love <fx@gnu.org>
parents:
diff changeset
337
Dave Love <fx@gnu.org>
parents:
diff changeset
338 @item * @@
Dave Love <fx@gnu.org>
parents:
diff changeset
339 @kindex * @@ @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
340 @findex dired-mark-symlinks
52576
a90f7b4afc00 (Misc Dired Commands): New node.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
341 @cindex marking symbolic links (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
342 Mark all symbolic links with @samp{*} (@code{dired-mark-symlinks}).
Dave Love <fx@gnu.org>
parents:
diff changeset
343 With a numeric argument, unmark all those files.
Dave Love <fx@gnu.org>
parents:
diff changeset
344
Dave Love <fx@gnu.org>
parents:
diff changeset
345 @item * /
Dave Love <fx@gnu.org>
parents:
diff changeset
346 @kindex * / @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
347 @findex dired-mark-directories
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
348 @cindex marking subdirectories (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
349 Mark with @samp{*} all files which are actually directories, except for
Dave Love <fx@gnu.org>
parents:
diff changeset
350 @file{.} and @file{..} (@code{dired-mark-directories}). With a numeric
Dave Love <fx@gnu.org>
parents:
diff changeset
351 argument, unmark all those files.
Dave Love <fx@gnu.org>
parents:
diff changeset
352
Dave Love <fx@gnu.org>
parents:
diff changeset
353 @item * s
Dave Love <fx@gnu.org>
parents:
diff changeset
354 @kindex * s @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
355 @findex dired-mark-subdir-files
Dave Love <fx@gnu.org>
parents:
diff changeset
356 Mark all the files in the current subdirectory, aside from @file{.}
Dave Love <fx@gnu.org>
parents:
diff changeset
357 and @file{..} (@code{dired-mark-subdir-files}).
Dave Love <fx@gnu.org>
parents:
diff changeset
358
Dave Love <fx@gnu.org>
parents:
diff changeset
359 @item u
Dave Love <fx@gnu.org>
parents:
diff changeset
360 @itemx * u
Dave Love <fx@gnu.org>
parents:
diff changeset
361 @kindex u @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
362 @kindex * u @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
363 @findex dired-unmark
Dave Love <fx@gnu.org>
parents:
diff changeset
364 Remove any mark on this line (@code{dired-unmark}).
Dave Love <fx@gnu.org>
parents:
diff changeset
365
Dave Love <fx@gnu.org>
parents:
diff changeset
366 @item @key{DEL}
Dave Love <fx@gnu.org>
parents:
diff changeset
367 @itemx * @key{DEL}
Dave Love <fx@gnu.org>
parents:
diff changeset
368 @kindex * DEL @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
369 @findex dired-unmark-backward
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
370 @cindex unmarking files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
371 Move point to previous line and remove any mark on that line
Dave Love <fx@gnu.org>
parents:
diff changeset
372 (@code{dired-unmark-backward}).
Dave Love <fx@gnu.org>
parents:
diff changeset
373
Dave Love <fx@gnu.org>
parents:
diff changeset
374 @item * !
61300
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
375 @itemx U
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
376 @kindex * ! @r{(Dired)}
61300
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
377 @kindex U @r{(Dired)}
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
378 @findex dired-unmark-all-marks
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
379 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
380 (@code{dired-unmark-all-marks}).
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
381
Dave Love <fx@gnu.org>
parents:
diff changeset
382 @item * ? @var{markchar}
61300
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
383 @itemx M-@key{DEL}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
384 @kindex * ? @r{(Dired)}
61300
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
385 @kindex M-DEL @r{(Dired)}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
386 @findex dired-unmark-all-files
Dave Love <fx@gnu.org>
parents:
diff changeset
387 Remove all marks that use the character @var{markchar}
Dave Love <fx@gnu.org>
parents:
diff changeset
388 (@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
389 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
390 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
391 character with another.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
392
Dave Love <fx@gnu.org>
parents:
diff changeset
393 With a numeric argument, this command queries about each marked file,
Dave Love <fx@gnu.org>
parents:
diff changeset
394 asking whether to remove its mark. You can answer @kbd{y} meaning yes,
Dave Love <fx@gnu.org>
parents:
diff changeset
395 @kbd{n} meaning no, or @kbd{!} to remove the marks from the remaining
Dave Love <fx@gnu.org>
parents:
diff changeset
396 files without asking about them.
Dave Love <fx@gnu.org>
parents:
diff changeset
397
Dave Love <fx@gnu.org>
parents:
diff changeset
398 @item * C-n
61300
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
399 @itemx M-@}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
400 @findex dired-next-marked-file
Dave Love <fx@gnu.org>
parents:
diff changeset
401 @kindex * C-n @r{(Dired)}
61300
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
402 @kindex M-@} @r{(Dired)}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
403 Move down to the next marked file (@code{dired-next-marked-file})
Dave Love <fx@gnu.org>
parents:
diff changeset
404 A file is ``marked'' if it has any kind of mark.
Dave Love <fx@gnu.org>
parents:
diff changeset
405
Dave Love <fx@gnu.org>
parents:
diff changeset
406 @item * C-p
61300
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
407 @itemx M-@{
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
408 @findex dired-prev-marked-file
Dave Love <fx@gnu.org>
parents:
diff changeset
409 @kindex * C-p @r{(Dired)}
61300
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
410 @kindex M-@{ @r{(Dired)}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
411 Move up to the previous marked file (@code{dired-prev-marked-file})
Dave Love <fx@gnu.org>
parents:
diff changeset
412
61300
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
413 @item t
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
414 @itemx * t
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
415 @kindex t @r{(Dired)}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
416 @kindex * t @r{(Dired)}
44213
729648fff079 Rename dired-do-toggle to dired-toggle-marks.
Richard M. Stallman <rms@gnu.org>
parents: 43109
diff changeset
417 @findex dired-toggle-marks
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
418 @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
419 Toggle all marks (@code{dired-toggle-marks}): files marked with @samp{*}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
420 become unmarked, and unmarked files are marked with @samp{*}. Files
Dave Love <fx@gnu.org>
parents:
diff changeset
421 marked in any other way are not affected.
Dave Love <fx@gnu.org>
parents:
diff changeset
422
36477
957e48a1565e (Dired Visiting): Fix wording, suggested by Ron Ross <ronross@colba.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 36263
diff changeset
423 @item * c @var{old-markchar} @var{new-markchar}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
424 @kindex * c @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
425 @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
426 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
427 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
428 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
429 @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
430 @key{RET} to terminate them.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
431
Dave Love <fx@gnu.org>
parents:
diff changeset
432 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
433 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
434 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
435 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
436 acts on.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
437
Dave Love <fx@gnu.org>
parents:
diff changeset
438 To illustrate the power of this command, here is how to put @samp{D}
Dave Love <fx@gnu.org>
parents:
diff changeset
439 flags on all the files that have no marks, while unflagging all those
Dave Love <fx@gnu.org>
parents:
diff changeset
440 that already have @samp{D} flags:
Dave Love <fx@gnu.org>
parents:
diff changeset
441
Dave Love <fx@gnu.org>
parents:
diff changeset
442 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
443 * c D t * c SPC D * c t SPC
Dave Love <fx@gnu.org>
parents:
diff changeset
444 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
445
36507
7f2e9facb52a Minor cleanups.
Richard M. Stallman <rms@gnu.org>
parents: 36477
diff changeset
446 This assumes that no files were already marked with @samp{t}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
447
Dave Love <fx@gnu.org>
parents:
diff changeset
448 @item % m @var{regexp} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
449 @itemx * % @var{regexp} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
450 @findex dired-mark-files-regexp
Dave Love <fx@gnu.org>
parents:
diff changeset
451 @kindex % m @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
452 @kindex * % @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
453 Mark (with @samp{*}) all files whose names match the regular expression
Dave Love <fx@gnu.org>
parents:
diff changeset
454 @var{regexp} (@code{dired-mark-files-regexp}). This command is like
Dave Love <fx@gnu.org>
parents:
diff changeset
455 @kbd{% d}, except that it marks files with @samp{*} instead of flagging
Dave Love <fx@gnu.org>
parents:
diff changeset
456 with @samp{D}. @xref{Flagging Many Files}.
Dave Love <fx@gnu.org>
parents:
diff changeset
457
Dave Love <fx@gnu.org>
parents:
diff changeset
458 Only the non-directory part of the file name is used in matching. Use
Dave Love <fx@gnu.org>
parents:
diff changeset
459 @samp{^} and @samp{$} to anchor matches. Exclude subdirectories by
Dave Love <fx@gnu.org>
parents:
diff changeset
460 hiding them (@pxref{Hiding Subdirectories}).
Dave Love <fx@gnu.org>
parents:
diff changeset
461
Dave Love <fx@gnu.org>
parents:
diff changeset
462 @item % g @var{regexp} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
463 @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
464 @kindex % g @r{(Dired)}
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
465 @cindex finding files containing regexp matches (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
466 Mark (with @samp{*}) all files whose @emph{contents} contain a match for
Dave Love <fx@gnu.org>
parents:
diff changeset
467 the regular expression @var{regexp}
Dave Love <fx@gnu.org>
parents:
diff changeset
468 (@code{dired-mark-files-containing-regexp}). This command is like
Dave Love <fx@gnu.org>
parents:
diff changeset
469 @kbd{% m}, except that it searches the file contents instead of the file
Dave Love <fx@gnu.org>
parents:
diff changeset
470 name.
Dave Love <fx@gnu.org>
parents:
diff changeset
471
Dave Love <fx@gnu.org>
parents:
diff changeset
472 @item C-_
Dave Love <fx@gnu.org>
parents:
diff changeset
473 @kindex C-_ @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
474 @findex dired-undo
Dave Love <fx@gnu.org>
parents:
diff changeset
475 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
476 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
477 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
478 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
479 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
480 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
481 directory.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
482 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
483
Dave Love <fx@gnu.org>
parents:
diff changeset
484 @node Operating on Files
Dave Love <fx@gnu.org>
parents:
diff changeset
485 @section Operating on Files
Dave Love <fx@gnu.org>
parents:
diff changeset
486 @cindex operating on files in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
487
Dave Love <fx@gnu.org>
parents:
diff changeset
488 This section describes the basic Dired commands to operate on one file
Dave Love <fx@gnu.org>
parents:
diff changeset
489 or several files. All of these commands are capital letters; all of
Dave Love <fx@gnu.org>
parents:
diff changeset
490 them use the minibuffer, either to read an argument or to ask for
Dave Love <fx@gnu.org>
parents:
diff changeset
491 confirmation, before they act. All of them give you several ways to
Dave Love <fx@gnu.org>
parents:
diff changeset
492 specify which files to manipulate:
Dave Love <fx@gnu.org>
parents:
diff changeset
493
Dave Love <fx@gnu.org>
parents:
diff changeset
494 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
495 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
496 If you give the command a numeric prefix argument @var{n}, it operates
Dave Love <fx@gnu.org>
parents:
diff changeset
497 on the next @var{n} files, starting with the current file. (If @var{n}
Dave Love <fx@gnu.org>
parents:
diff changeset
498 is negative, the command operates on the @minus{}@var{n} files preceding
Dave Love <fx@gnu.org>
parents:
diff changeset
499 the current line.)
Dave Love <fx@gnu.org>
parents:
diff changeset
500
Dave Love <fx@gnu.org>
parents:
diff changeset
501 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
502 Otherwise, if some files are marked with @samp{*}, the command operates
Dave Love <fx@gnu.org>
parents:
diff changeset
503 on all those files.
Dave Love <fx@gnu.org>
parents:
diff changeset
504
Dave Love <fx@gnu.org>
parents:
diff changeset
505 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
506 Otherwise, the command operates on the current file only.
Dave Love <fx@gnu.org>
parents:
diff changeset
507 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
508
37491
772178ae2c7e (Operating on Files): Document dired-dwim-target.
Eli Zaretskii <eliz@gnu.org>
parents: 37484
diff changeset
509 @vindex dired-dwim-target
772178ae2c7e (Operating on Files): Document dired-dwim-target.
Eli Zaretskii <eliz@gnu.org>
parents: 37484
diff changeset
510 @cindex two directories (in Dired)
772178ae2c7e (Operating on Files): Document dired-dwim-target.
Eli Zaretskii <eliz@gnu.org>
parents: 37484
diff changeset
511 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
512 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
513 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
514 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
515 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
516 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
517
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
518 Here are the file-manipulating commands that operate on files in this
Dave Love <fx@gnu.org>
parents:
diff changeset
519 way. (Some other Dired commands, such as @kbd{!} and the @samp{%}
Dave Love <fx@gnu.org>
parents:
diff changeset
520 commands, also use these conventions to decide which files to work on.)
Dave Love <fx@gnu.org>
parents:
diff changeset
521
Dave Love <fx@gnu.org>
parents:
diff changeset
522 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
523 @findex dired-do-copy
Dave Love <fx@gnu.org>
parents:
diff changeset
524 @kindex C @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
525 @cindex copying files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
526 @item C @var{new} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
527 Copy the specified files (@code{dired-do-copy}). The argument @var{new}
Dave Love <fx@gnu.org>
parents:
diff changeset
528 is the directory to copy into, or (if copying a single file) the new
Dave Love <fx@gnu.org>
parents:
diff changeset
529 name.
Dave Love <fx@gnu.org>
parents:
diff changeset
530
Dave Love <fx@gnu.org>
parents:
diff changeset
531 @vindex dired-copy-preserve-time
Dave Love <fx@gnu.org>
parents:
diff changeset
532 If @code{dired-copy-preserve-time} is non-@code{nil}, then copying with
Dave Love <fx@gnu.org>
parents:
diff changeset
533 this command sets the modification time of the new file to be the same
Dave Love <fx@gnu.org>
parents:
diff changeset
534 as that of the old file.
Dave Love <fx@gnu.org>
parents:
diff changeset
535
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
536 @vindex dired-recursive-copies
40617
aeebb5c33587 (Dired Deletion, Operating On Files): Add index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 39287
diff changeset
537 @cindex recursive copying
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
538 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
539 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
540 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
541
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
542 @item D
Dave Love <fx@gnu.org>
parents:
diff changeset
543 @findex dired-do-delete
Dave Love <fx@gnu.org>
parents:
diff changeset
544 @kindex D @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
545 Delete the specified files (@code{dired-do-delete}). Like the other
Dave Love <fx@gnu.org>
parents:
diff changeset
546 commands in this section, this command operates on the @emph{marked}
Dave Love <fx@gnu.org>
parents:
diff changeset
547 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
548 (@code{dired-do-flagged-delete}) deletes all @dfn{flagged} files.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
549
Dave Love <fx@gnu.org>
parents:
diff changeset
550 @findex dired-do-rename
Dave Love <fx@gnu.org>
parents:
diff changeset
551 @kindex R @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
552 @cindex renaming files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
553 @item R @var{new} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
554 Rename the specified files (@code{dired-do-rename}). The argument
Dave Love <fx@gnu.org>
parents:
diff changeset
555 @var{new} is the directory to rename into, or (if renaming a single
Dave Love <fx@gnu.org>
parents:
diff changeset
556 file) the new name.
Dave Love <fx@gnu.org>
parents:
diff changeset
557
Dave Love <fx@gnu.org>
parents:
diff changeset
558 Dired automatically changes the visited file name of buffers associated
Dave Love <fx@gnu.org>
parents:
diff changeset
559 with renamed files so that they refer to the new names.
Dave Love <fx@gnu.org>
parents:
diff changeset
560
Dave Love <fx@gnu.org>
parents:
diff changeset
561 @findex dired-do-hardlink
Dave Love <fx@gnu.org>
parents:
diff changeset
562 @kindex H @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
563 @cindex hard links (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
564 @item H @var{new} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
565 Make hard links to the specified files (@code{dired-do-hardlink}). The
Dave Love <fx@gnu.org>
parents:
diff changeset
566 argument @var{new} is the directory to make the links in, or (if making
Dave Love <fx@gnu.org>
parents:
diff changeset
567 just one link) the name to give the link.
Dave Love <fx@gnu.org>
parents:
diff changeset
568
Dave Love <fx@gnu.org>
parents:
diff changeset
569 @findex dired-do-symlink
Dave Love <fx@gnu.org>
parents:
diff changeset
570 @kindex S @r{(Dired)}
52576
a90f7b4afc00 (Misc Dired Commands): New node.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
571 @cindex symbolic links (creation in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
572 @item S @var{new} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
573 Make symbolic links to the specified files (@code{dired-do-symlink}).
Dave Love <fx@gnu.org>
parents:
diff changeset
574 The argument @var{new} is the directory to make the links in, or (if
Dave Love <fx@gnu.org>
parents:
diff changeset
575 making just one link) the name to give the link.
Dave Love <fx@gnu.org>
parents:
diff changeset
576
Dave Love <fx@gnu.org>
parents:
diff changeset
577 @findex dired-do-chmod
Dave Love <fx@gnu.org>
parents:
diff changeset
578 @kindex M @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
579 @cindex changing file permissions (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
580 @item M @var{modespec} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
581 Change the mode (also called ``permission bits'') of the specified files
Dave Love <fx@gnu.org>
parents:
diff changeset
582 (@code{dired-do-chmod}). This uses the @code{chmod} program, so
Dave Love <fx@gnu.org>
parents:
diff changeset
583 @var{modespec} can be any argument that @code{chmod} can handle.
Dave Love <fx@gnu.org>
parents:
diff changeset
584
Dave Love <fx@gnu.org>
parents:
diff changeset
585 @findex dired-do-chgrp
Dave Love <fx@gnu.org>
parents:
diff changeset
586 @kindex G @r{(Dired)}
36263
11db0318031d Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 36149
diff changeset
587 @cindex changing file group (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
588 @item G @var{newgroup} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
589 Change the group of the specified files to @var{newgroup}
Dave Love <fx@gnu.org>
parents:
diff changeset
590 (@code{dired-do-chgrp}).
Dave Love <fx@gnu.org>
parents:
diff changeset
591
Dave Love <fx@gnu.org>
parents:
diff changeset
592 @findex dired-do-chown
Dave Love <fx@gnu.org>
parents:
diff changeset
593 @kindex O @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
594 @cindex changing file owner (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
595 @item O @var{newowner} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
596 Change the owner of the specified files to @var{newowner}
Dave Love <fx@gnu.org>
parents:
diff changeset
597 (@code{dired-do-chown}). (On most systems, only the superuser can do
Dave Love <fx@gnu.org>
parents:
diff changeset
598 this.)
Dave Love <fx@gnu.org>
parents:
diff changeset
599
Dave Love <fx@gnu.org>
parents:
diff changeset
600 @vindex dired-chown-program
Dave Love <fx@gnu.org>
parents:
diff changeset
601 The variable @code{dired-chown-program} specifies the name of the
Dave Love <fx@gnu.org>
parents:
diff changeset
602 program to use to do the work (different systems put @code{chown} in
Dave Love <fx@gnu.org>
parents:
diff changeset
603 different places).
Dave Love <fx@gnu.org>
parents:
diff changeset
604
56046
684d4b5c0efc (Operating on Files): Add dired-do-touch.
Juri Linkov <juri@jurta.org>
parents: 55780
diff changeset
605 @findex dired-do-touch
684d4b5c0efc (Operating on Files): Add dired-do-touch.
Juri Linkov <juri@jurta.org>
parents: 55780
diff changeset
606 @kindex T @r{(Dired)}
684d4b5c0efc (Operating on Files): Add dired-do-touch.
Juri Linkov <juri@jurta.org>
parents: 55780
diff changeset
607 @cindex changing file time (in Dired)
684d4b5c0efc (Operating on Files): Add dired-do-touch.
Juri Linkov <juri@jurta.org>
parents: 55780
diff changeset
608 @item T @var{timestamp} @key{RET}
684d4b5c0efc (Operating on Files): Add dired-do-touch.
Juri Linkov <juri@jurta.org>
parents: 55780
diff changeset
609 Change the time of the specified files (@code{dired-do-touch}).
684d4b5c0efc (Operating on Files): Add dired-do-touch.
Juri Linkov <juri@jurta.org>
parents: 55780
diff changeset
610
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
611 @findex dired-do-print
Dave Love <fx@gnu.org>
parents:
diff changeset
612 @kindex P @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
613 @cindex printing files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
614 @item P @var{command} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
615 Print the specified files (@code{dired-do-print}). You must specify the
Dave Love <fx@gnu.org>
parents:
diff changeset
616 command to print them with, but the minibuffer starts out with a
Dave Love <fx@gnu.org>
parents:
diff changeset
617 suitable guess made using the variables @code{lpr-command} and
Dave Love <fx@gnu.org>
parents:
diff changeset
618 @code{lpr-switches} (the same variables that @code{lpr-buffer} uses;
63006
73c36bde4a25 (Operating on Files): Change Hardcopy xref to Printing.
Eli Zaretskii <eliz@gnu.org>
parents: 61846
diff changeset
619 @pxref{Printing}).
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
620
Dave Love <fx@gnu.org>
parents:
diff changeset
621 @findex dired-do-compress
Dave Love <fx@gnu.org>
parents:
diff changeset
622 @kindex Z @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
623 @cindex compressing files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
624 @item Z
Dave Love <fx@gnu.org>
parents:
diff changeset
625 Compress the specified files (@code{dired-do-compress}). If the file
Dave Love <fx@gnu.org>
parents:
diff changeset
626 appears to be a compressed file already, it is uncompressed instead.
Dave Love <fx@gnu.org>
parents:
diff changeset
627
Dave Love <fx@gnu.org>
parents:
diff changeset
628 @findex dired-do-load
Dave Love <fx@gnu.org>
parents:
diff changeset
629 @kindex L @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
630 @cindex loading several files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
631 @item L
Dave Love <fx@gnu.org>
parents:
diff changeset
632 Load the specified Emacs Lisp files (@code{dired-do-load}).
Dave Love <fx@gnu.org>
parents:
diff changeset
633 @xref{Lisp Libraries}.
Dave Love <fx@gnu.org>
parents:
diff changeset
634
Dave Love <fx@gnu.org>
parents:
diff changeset
635 @findex dired-do-byte-compile
Dave Love <fx@gnu.org>
parents:
diff changeset
636 @kindex B @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
637 @cindex byte-compiling several files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
638 @item B
Dave Love <fx@gnu.org>
parents:
diff changeset
639 Byte compile the specified Emacs Lisp files
Dave Love <fx@gnu.org>
parents:
diff changeset
640 (@code{dired-do-byte-compile}). @xref{Byte Compilation,, Byte
Dave Love <fx@gnu.org>
parents:
diff changeset
641 Compilation, elisp, The Emacs Lisp Reference Manual}.
Dave Love <fx@gnu.org>
parents:
diff changeset
642
Dave Love <fx@gnu.org>
parents:
diff changeset
643 @kindex A @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
644 @findex dired-do-search
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
645 @cindex search multiple files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
646 @item A @var{regexp} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
647 Search all the specified files for the regular expression @var{regexp}
Dave Love <fx@gnu.org>
parents:
diff changeset
648 (@code{dired-do-search}).
Dave Love <fx@gnu.org>
parents:
diff changeset
649
Dave Love <fx@gnu.org>
parents:
diff changeset
650 This command is a variant of @code{tags-search}. The search stops at
Dave Love <fx@gnu.org>
parents:
diff changeset
651 the first match it finds; use @kbd{M-,} to resume the search and find
Dave Love <fx@gnu.org>
parents:
diff changeset
652 the next match. @xref{Tags Search}.
Dave Love <fx@gnu.org>
parents:
diff changeset
653
Dave Love <fx@gnu.org>
parents:
diff changeset
654 @kindex Q @r{(Dired)}
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
655 @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
656 @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
657 @item Q @var{regexp} @key{RET} @var{to} @key{RET}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
658 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
659 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
660 @var{to} (@code{dired-do-query-replace-regexp}).
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
661
Dave Love <fx@gnu.org>
parents:
diff changeset
662 This command is a variant of @code{tags-query-replace}. If you exit the
Dave Love <fx@gnu.org>
parents:
diff changeset
663 query replace loop, you can use @kbd{M-,} to resume the scan and replace
Dave Love <fx@gnu.org>
parents:
diff changeset
664 more matches. @xref{Tags Search}.
Dave Love <fx@gnu.org>
parents:
diff changeset
665 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
666
Dave Love <fx@gnu.org>
parents:
diff changeset
667 @kindex + @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
668 @findex dired-create-directory
Dave Love <fx@gnu.org>
parents:
diff changeset
669 One special file-operation command is @kbd{+}
Dave Love <fx@gnu.org>
parents:
diff changeset
670 (@code{dired-create-directory}). This command reads a directory name and
Dave Love <fx@gnu.org>
parents:
diff changeset
671 creates the directory if it does not already exist.
Dave Love <fx@gnu.org>
parents:
diff changeset
672
Dave Love <fx@gnu.org>
parents:
diff changeset
673 @node Shell Commands in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
674 @section Shell Commands in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
675 @cindex shell commands, Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
676
Dave Love <fx@gnu.org>
parents:
diff changeset
677 @findex dired-do-shell-command
Dave Love <fx@gnu.org>
parents:
diff changeset
678 @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
679 @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
680 The Dired command @kbd{!} (@code{dired-do-shell-command}) reads a shell
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
681 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
682 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
683 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
684 (@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
685 command to multiple files:
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
686
Dave Love <fx@gnu.org>
parents:
diff changeset
687 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
688 @item
46203
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
689 If you use @samp{*} surrounded by whitespace in the shell command,
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
690 then the command runs just once, with the list of file names
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
691 substituted for the @samp{*}. The order of file names is the order of
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
692 appearance in the Dired buffer.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
693
Dave Love <fx@gnu.org>
parents:
diff changeset
694 Thus, @kbd{! tar cf foo.tar * @key{RET}} runs @code{tar} on the entire
Dave Love <fx@gnu.org>
parents:
diff changeset
695 list of file names, putting them into one tar file @file{foo.tar}.
Dave Love <fx@gnu.org>
parents:
diff changeset
696
46203
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
697 If you want to use @samp{*} as a shell wildcard with whitespace around
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
698 it, write @samp{*""}. In the shell, this is equivalent to @samp{*};
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
699 but since the @samp{*} is not surrounded by whitespace, Dired does
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
700 not treat it specially.
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
701
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
702 @item
46203
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
703 If the command string doesn't contain @samp{*} surrounded by
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
704 whitespace, then it runs once @emph{for each file}. Normally the file
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
705 name is added at the end.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
706
Dave Love <fx@gnu.org>
parents:
diff changeset
707 For example, @kbd{! uudecode @key{RET}} runs @code{uudecode} on each
Dave Love <fx@gnu.org>
parents:
diff changeset
708 file.
Dave Love <fx@gnu.org>
parents:
diff changeset
709
46203
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
710 @item
60103
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
711 However, if the command string contains @samp{?} surrounded by
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
712 whitespace, the current file name is substituted for @samp{?} (rather
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
713 than added at the end). You can use @samp{?} this way more than once
d7a513160c01 (Dired Enter): C-x C-f can run Dired.
Richard M. Stallman <rms@gnu.org>
parents: 59885
diff changeset
714 in the command, and the same file name replaces each occurrence.
46203
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
715 @end itemize
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
716
46203
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
717 To iterate over the file names in a more complicated fashion, use an
59260
a3a45da02baa (Shell Commands in Dired): Delete the ? example.
Richard M. Stallman <rms@gnu.org>
parents: 58926
diff changeset
718 explicit shell loop. For example, here is how to uuencode each file,
a3a45da02baa (Shell Commands in Dired): Delete the ? example.
Richard M. Stallman <rms@gnu.org>
parents: 58926
diff changeset
719 making the output file name by appending @samp{.uu} to the input file
a3a45da02baa (Shell Commands in Dired): Delete the ? example.
Richard M. Stallman <rms@gnu.org>
parents: 58926
diff changeset
720 name:
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
721
Dave Love <fx@gnu.org>
parents:
diff changeset
722 @example
46203
09a72d736076 Update description of * and ? for shell commands.
Richard M. Stallman <rms@gnu.org>
parents: 44213
diff changeset
723 for file in * ; do uuencode "$file" "$file" >"$file".uu; done
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
724 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
725
Dave Love <fx@gnu.org>
parents:
diff changeset
726 The working directory for the shell command is the top-level directory
Dave Love <fx@gnu.org>
parents:
diff changeset
727 of the Dired buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
728
Dave Love <fx@gnu.org>
parents:
diff changeset
729 The @kbd{!} command does not attempt to update the Dired buffer to show
Dave Love <fx@gnu.org>
parents:
diff changeset
730 new or modified files, because it doesn't really understand shell
Dave Love <fx@gnu.org>
parents:
diff changeset
731 commands, and does not know what files the shell command changed. Use
Dave Love <fx@gnu.org>
parents:
diff changeset
732 the @kbd{g} command to update the Dired buffer (@pxref{Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
733 Updating}).
Dave Love <fx@gnu.org>
parents:
diff changeset
734
Dave Love <fx@gnu.org>
parents:
diff changeset
735 @node Transforming File Names
Dave Love <fx@gnu.org>
parents:
diff changeset
736 @section Transforming File Names in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
737
37519
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
738 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
739 systematic way.
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
740
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
741 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
742 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
743 @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
744 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
745 Flags}.)
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
746
1a27ed8dcefc (Marks vs Flags): Explain that dired-undo doesn't undo the file
Eli Zaretskii <eliz@gnu.org>
parents: 37491
diff changeset
747 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
748 @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
749 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
750 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
751 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
752 command prompts for confirmation.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
753
Dave Love <fx@gnu.org>
parents:
diff changeset
754 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
755 @findex dired-upcase
Dave Love <fx@gnu.org>
parents:
diff changeset
756 @kindex % u @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
757 @cindex upcase file names
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
758 @item % u
Dave Love <fx@gnu.org>
parents:
diff changeset
759 Rename each of the selected files to an upper-case name
Dave Love <fx@gnu.org>
parents:
diff changeset
760 (@code{dired-upcase}). If the old file names are @file{Foo}
Dave Love <fx@gnu.org>
parents:
diff changeset
761 and @file{bar}, the new names are @file{FOO} and @file{BAR}.
Dave Love <fx@gnu.org>
parents:
diff changeset
762
Dave Love <fx@gnu.org>
parents:
diff changeset
763 @item % l
Dave Love <fx@gnu.org>
parents:
diff changeset
764 @findex dired-downcase
Dave Love <fx@gnu.org>
parents:
diff changeset
765 @kindex % l @r{(Dired)}
35056
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
766 @cindex downcase file names
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
767 Rename each of the selected files to a lower-case name
Dave Love <fx@gnu.org>
parents:
diff changeset
768 (@code{dired-downcase}). If the old file names are @file{Foo} and
Dave Love <fx@gnu.org>
parents:
diff changeset
769 @file{bar}, the new names are @file{foo} and @file{bar}.
Dave Love <fx@gnu.org>
parents:
diff changeset
770
Dave Love <fx@gnu.org>
parents:
diff changeset
771 @item % R @var{from} @key{RET} @var{to} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
772 @kindex % R @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
773 @findex dired-do-rename-regexp
Dave Love <fx@gnu.org>
parents:
diff changeset
774 @itemx % C @var{from} @key{RET} @var{to} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
775 @kindex % C @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
776 @findex dired-do-copy-regexp
Dave Love <fx@gnu.org>
parents:
diff changeset
777 @itemx % H @var{from} @key{RET} @var{to} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
778 @kindex % H @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
779 @findex dired-do-hardlink-regexp
Dave Love <fx@gnu.org>
parents:
diff changeset
780 @itemx % S @var{from} @key{RET} @var{to} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
781 @kindex % S @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
782 @findex dired-do-symlink-regexp
Dave Love <fx@gnu.org>
parents:
diff changeset
783 These four commands rename, copy, make hard links and make soft links,
Dave Love <fx@gnu.org>
parents:
diff changeset
784 in each case computing the new name by regular-expression substitution
Dave Love <fx@gnu.org>
parents:
diff changeset
785 from the name of the old file.
Dave Love <fx@gnu.org>
parents:
diff changeset
786 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
787
Dave Love <fx@gnu.org>
parents:
diff changeset
788 The four regular-expression substitution commands effectively perform
Dave Love <fx@gnu.org>
parents:
diff changeset
789 a search-and-replace on the selected file names in the Dired buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
790 They read two arguments: a regular expression @var{from}, and a
Dave Love <fx@gnu.org>
parents:
diff changeset
791 substitution pattern @var{to}.
Dave Love <fx@gnu.org>
parents:
diff changeset
792
Dave Love <fx@gnu.org>
parents:
diff changeset
793 The commands match each ``old'' file name against the regular
Dave Love <fx@gnu.org>
parents:
diff changeset
794 expression @var{from}, and then replace the matching part with @var{to}.
Dave Love <fx@gnu.org>
parents:
diff changeset
795 You can use @samp{\&} and @samp{\@var{digit}} in @var{to} to refer to
Dave Love <fx@gnu.org>
parents:
diff changeset
796 all or part of what the pattern matched in the old file name, as in
Dave Love <fx@gnu.org>
parents:
diff changeset
797 @code{replace-regexp} (@pxref{Regexp Replace}). If the regular expression
Dave Love <fx@gnu.org>
parents:
diff changeset
798 matches more than once in a file name, only the first match is replaced.
Dave Love <fx@gnu.org>
parents:
diff changeset
799
Dave Love <fx@gnu.org>
parents:
diff changeset
800 For example, @kbd{% R ^.*$ @key{RET} x-\& @key{RET}} renames each
Dave Love <fx@gnu.org>
parents:
diff changeset
801 selected file by prepending @samp{x-} to its name. The inverse of this,
Dave Love <fx@gnu.org>
parents:
diff changeset
802 removing @samp{x-} from the front of each file name, is also possible:
Dave Love <fx@gnu.org>
parents:
diff changeset
803 one method is @kbd{% R ^x-\(.*\)$ @key{RET} \1 @key{RET}}; another is
Dave Love <fx@gnu.org>
parents:
diff changeset
804 @kbd{% R ^x- @key{RET} @key{RET}}. (Use @samp{^} and @samp{$} to anchor
Dave Love <fx@gnu.org>
parents:
diff changeset
805 matches that should span the whole filename.)
Dave Love <fx@gnu.org>
parents:
diff changeset
806
Dave Love <fx@gnu.org>
parents:
diff changeset
807 Normally, the replacement process does not consider the files'
Dave Love <fx@gnu.org>
parents:
diff changeset
808 directory names; it operates on the file name within the directory. If
Dave Love <fx@gnu.org>
parents:
diff changeset
809 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
810 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
811 argument specifies the number of files to operate on.)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
812
Dave Love <fx@gnu.org>
parents:
diff changeset
813 Often you will want to select the set of files to operate on using the
Dave Love <fx@gnu.org>
parents:
diff changeset
814 same @var{regexp} that you will use to operate on them. To do this,
Dave Love <fx@gnu.org>
parents:
diff changeset
815 mark those files with @kbd{% m @var{regexp} @key{RET}}, then use the
Dave Love <fx@gnu.org>
parents:
diff changeset
816 same regular expression in the command to operate on the files. To make
Dave Love <fx@gnu.org>
parents:
diff changeset
817 this easier, the @kbd{%} commands to operate on files use the last
Dave Love <fx@gnu.org>
parents:
diff changeset
818 regular expression specified in any @kbd{%} command as a default.
Dave Love <fx@gnu.org>
parents:
diff changeset
819
Dave Love <fx@gnu.org>
parents:
diff changeset
820 @node Comparison in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
821 @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
822 @cindex file comparison (in Dired)
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
823 @cindex compare files (in Dired)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
824
Dave Love <fx@gnu.org>
parents:
diff changeset
825 Here are two Dired commands that compare specified files using
Dave Love <fx@gnu.org>
parents:
diff changeset
826 @code{diff}.
Dave Love <fx@gnu.org>
parents:
diff changeset
827
Dave Love <fx@gnu.org>
parents:
diff changeset
828 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
829 @item =
Dave Love <fx@gnu.org>
parents:
diff changeset
830 @findex dired-diff
Dave Love <fx@gnu.org>
parents:
diff changeset
831 @kindex = @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
832 Compare the current file (the file at point) with another file (the file
Dave Love <fx@gnu.org>
parents:
diff changeset
833 at the mark) using the @code{diff} program (@code{dired-diff}). The
Dave Love <fx@gnu.org>
parents:
diff changeset
834 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
835 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
836 (@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
837 (@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
838 with the Dired's @kbd{m} command.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
839
Dave Love <fx@gnu.org>
parents:
diff changeset
840 @findex dired-backup-diff
Dave Love <fx@gnu.org>
parents:
diff changeset
841 @kindex M-= @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
842 @item M-=
Dave Love <fx@gnu.org>
parents:
diff changeset
843 Compare the current file with its latest backup file
Dave Love <fx@gnu.org>
parents:
diff changeset
844 (@code{dired-backup-diff}). If the current file is itself a backup,
Dave Love <fx@gnu.org>
parents:
diff changeset
845 compare it with the file it is a backup of; this way, you can compare
Dave Love <fx@gnu.org>
parents:
diff changeset
846 a file with any backup version of your choice.
Dave Love <fx@gnu.org>
parents:
diff changeset
847
Dave Love <fx@gnu.org>
parents:
diff changeset
848 The backup file is the first file given to @code{diff}.
Dave Love <fx@gnu.org>
parents:
diff changeset
849 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
850
Dave Love <fx@gnu.org>
parents:
diff changeset
851 @node Subdirectories in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
852 @section Subdirectories in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
853 @cindex subdirectories in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
854 @cindex expanding subdirectories in Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
855
Dave Love <fx@gnu.org>
parents:
diff changeset
856 A Dired buffer displays just one directory in the normal case;
Dave Love <fx@gnu.org>
parents:
diff changeset
857 but you can optionally include its subdirectories as well.
Dave Love <fx@gnu.org>
parents:
diff changeset
858
Dave Love <fx@gnu.org>
parents:
diff changeset
859 The simplest way to include multiple directories in one Dired buffer is
Dave Love <fx@gnu.org>
parents:
diff changeset
860 to specify the options @samp{-lR} for running @code{ls}. (If you give a
Dave Love <fx@gnu.org>
parents:
diff changeset
861 numeric argument when you run Dired, then you can specify these options
Dave Love <fx@gnu.org>
parents:
diff changeset
862 in the minibuffer.) That produces a recursive directory listing showing
Dave Love <fx@gnu.org>
parents:
diff changeset
863 all subdirectories at all levels.
Dave Love <fx@gnu.org>
parents:
diff changeset
864
Dave Love <fx@gnu.org>
parents:
diff changeset
865 But usually all the subdirectories are too many; usually you will
Dave Love <fx@gnu.org>
parents:
diff changeset
866 prefer to include specific subdirectories only. You can do this with
Dave Love <fx@gnu.org>
parents:
diff changeset
867 the @kbd{i} command:
Dave Love <fx@gnu.org>
parents:
diff changeset
868
Dave Love <fx@gnu.org>
parents:
diff changeset
869 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
870 @findex dired-maybe-insert-subdir
Dave Love <fx@gnu.org>
parents:
diff changeset
871 @kindex i @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
872 @item i
Dave Love <fx@gnu.org>
parents:
diff changeset
873 @cindex inserted subdirectory (Dired)
Dave Love <fx@gnu.org>
parents:
diff changeset
874 @cindex in-situ subdirectory (Dired)
Dave Love <fx@gnu.org>
parents:
diff changeset
875 Insert the contents of a subdirectory later in the buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
876 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
877
Dave Love <fx@gnu.org>
parents:
diff changeset
878 Use the @kbd{i} (@code{dired-maybe-insert-subdir}) command on a line
Dave Love <fx@gnu.org>
parents:
diff changeset
879 that describes a file which is a directory. It inserts the contents of
Dave Love <fx@gnu.org>
parents:
diff changeset
880 that directory into the same Dired buffer, and moves there. Inserted
Dave Love <fx@gnu.org>
parents:
diff changeset
881 subdirectory contents follow the top-level directory of the Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
882 buffer, just as they do in @samp{ls -lR} output.
Dave Love <fx@gnu.org>
parents:
diff changeset
883
Dave Love <fx@gnu.org>
parents:
diff changeset
884 If the subdirectory's contents are already present in the buffer, the
Dave Love <fx@gnu.org>
parents:
diff changeset
885 @kbd{i} command just moves to it.
Dave Love <fx@gnu.org>
parents:
diff changeset
886
Dave Love <fx@gnu.org>
parents:
diff changeset
887 In either case, @kbd{i} sets the Emacs mark before moving, so @kbd{C-u
Dave Love <fx@gnu.org>
parents:
diff changeset
888 C-@key{SPC}} takes you back to the old position in the buffer (the line
Dave Love <fx@gnu.org>
parents:
diff changeset
889 describing that subdirectory).
Dave Love <fx@gnu.org>
parents:
diff changeset
890
Dave Love <fx@gnu.org>
parents:
diff changeset
891 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
892 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
893 line to delete the subdirectory. @xref{Dired Updating}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
894
Dave Love <fx@gnu.org>
parents:
diff changeset
895 @node Subdirectory Motion
Dave Love <fx@gnu.org>
parents:
diff changeset
896 @section Moving Over Subdirectories
Dave Love <fx@gnu.org>
parents:
diff changeset
897
Dave Love <fx@gnu.org>
parents:
diff changeset
898 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
899 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
900 (@pxref{Pages}).
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
901
Dave Love <fx@gnu.org>
parents:
diff changeset
902 @cindex header line (Dired)
Dave Love <fx@gnu.org>
parents:
diff changeset
903 @cindex directory header lines
Dave Love <fx@gnu.org>
parents:
diff changeset
904 The following commands move across, up and down in the tree of
Dave Love <fx@gnu.org>
parents:
diff changeset
905 directories within one Dired buffer. They move to @dfn{directory header
Dave Love <fx@gnu.org>
parents:
diff changeset
906 lines}, which are the lines that give a directory's name, at the
Dave Love <fx@gnu.org>
parents:
diff changeset
907 beginning of the directory's contents.
Dave Love <fx@gnu.org>
parents:
diff changeset
908
Dave Love <fx@gnu.org>
parents:
diff changeset
909 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
910 @findex dired-next-subdir
Dave Love <fx@gnu.org>
parents:
diff changeset
911 @kindex C-M-n @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
912 @item C-M-n
Dave Love <fx@gnu.org>
parents:
diff changeset
913 Go to next subdirectory header line, regardless of level
Dave Love <fx@gnu.org>
parents:
diff changeset
914 (@code{dired-next-subdir}).
Dave Love <fx@gnu.org>
parents:
diff changeset
915
Dave Love <fx@gnu.org>
parents:
diff changeset
916 @findex dired-prev-subdir
Dave Love <fx@gnu.org>
parents:
diff changeset
917 @kindex C-M-p @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
918 @item C-M-p
Dave Love <fx@gnu.org>
parents:
diff changeset
919 Go to previous subdirectory header line, regardless of level
Dave Love <fx@gnu.org>
parents:
diff changeset
920 (@code{dired-prev-subdir}).
Dave Love <fx@gnu.org>
parents:
diff changeset
921
Dave Love <fx@gnu.org>
parents:
diff changeset
922 @findex dired-tree-up
Dave Love <fx@gnu.org>
parents:
diff changeset
923 @kindex C-M-u @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
924 @item C-M-u
Dave Love <fx@gnu.org>
parents:
diff changeset
925 Go up to the parent directory's header line (@code{dired-tree-up}).
Dave Love <fx@gnu.org>
parents:
diff changeset
926
Dave Love <fx@gnu.org>
parents:
diff changeset
927 @findex dired-tree-down
Dave Love <fx@gnu.org>
parents:
diff changeset
928 @kindex C-M-d @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
929 @item C-M-d
Dave Love <fx@gnu.org>
parents:
diff changeset
930 Go down in the directory tree, to the first subdirectory's header line
Dave Love <fx@gnu.org>
parents:
diff changeset
931 (@code{dired-tree-down}).
Dave Love <fx@gnu.org>
parents:
diff changeset
932
Dave Love <fx@gnu.org>
parents:
diff changeset
933 @findex dired-prev-dirline
Dave Love <fx@gnu.org>
parents:
diff changeset
934 @kindex < @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
935 @item <
Dave Love <fx@gnu.org>
parents:
diff changeset
936 Move up to the previous directory-file line (@code{dired-prev-dirline}).
Dave Love <fx@gnu.org>
parents:
diff changeset
937 These lines are the ones that describe a directory as a file in its
Dave Love <fx@gnu.org>
parents:
diff changeset
938 parent directory.
Dave Love <fx@gnu.org>
parents:
diff changeset
939
Dave Love <fx@gnu.org>
parents:
diff changeset
940 @findex dired-next-dirline
Dave Love <fx@gnu.org>
parents:
diff changeset
941 @kindex > @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
942 @item >
Dave Love <fx@gnu.org>
parents:
diff changeset
943 Move down to the next directory-file line (@code{dired-prev-dirline}).
Dave Love <fx@gnu.org>
parents:
diff changeset
944 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
945
Dave Love <fx@gnu.org>
parents:
diff changeset
946 @node Hiding Subdirectories
Dave Love <fx@gnu.org>
parents:
diff changeset
947 @section Hiding Subdirectories
Dave Love <fx@gnu.org>
parents:
diff changeset
948
Dave Love <fx@gnu.org>
parents:
diff changeset
949 @cindex hiding in Dired (Dired)
Dave Love <fx@gnu.org>
parents:
diff changeset
950 @dfn{Hiding} a subdirectory means to make it invisible, except for its
Dave Love <fx@gnu.org>
parents:
diff changeset
951 header line, via selective display (@pxref{Selective Display}).
Dave Love <fx@gnu.org>
parents:
diff changeset
952
Dave Love <fx@gnu.org>
parents:
diff changeset
953 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
954 @item $
Dave Love <fx@gnu.org>
parents:
diff changeset
955 @findex dired-hide-subdir
Dave Love <fx@gnu.org>
parents:
diff changeset
956 @kindex $ @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
957 Hide or reveal the subdirectory that point is in, and move point to the
Dave Love <fx@gnu.org>
parents:
diff changeset
958 next subdirectory (@code{dired-hide-subdir}). A numeric argument serves
Dave Love <fx@gnu.org>
parents:
diff changeset
959 as a repeat count.
Dave Love <fx@gnu.org>
parents:
diff changeset
960
Dave Love <fx@gnu.org>
parents:
diff changeset
961 @item M-$
Dave Love <fx@gnu.org>
parents:
diff changeset
962 @findex dired-hide-all
Dave Love <fx@gnu.org>
parents:
diff changeset
963 @kindex M-$ @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
964 Hide all subdirectories in this Dired buffer, leaving only their header
Dave Love <fx@gnu.org>
parents:
diff changeset
965 lines (@code{dired-hide-all}). Or, if any subdirectory is currently
Dave Love <fx@gnu.org>
parents:
diff changeset
966 hidden, make all subdirectories visible again. You can use this command
Dave Love <fx@gnu.org>
parents:
diff changeset
967 to get an overview in very deep directory trees or to move quickly to
Dave Love <fx@gnu.org>
parents:
diff changeset
968 subdirectories far away.
Dave Love <fx@gnu.org>
parents:
diff changeset
969 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
970
Dave Love <fx@gnu.org>
parents:
diff changeset
971 Ordinary Dired commands never consider files inside a hidden
Dave Love <fx@gnu.org>
parents:
diff changeset
972 subdirectory. For example, the commands to operate on marked files
Dave Love <fx@gnu.org>
parents:
diff changeset
973 ignore files in hidden directories even if they are marked. Thus you
Dave Love <fx@gnu.org>
parents:
diff changeset
974 can use hiding to temporarily exclude subdirectories from operations
Dave Love <fx@gnu.org>
parents:
diff changeset
975 without having to remove the markers.
Dave Love <fx@gnu.org>
parents:
diff changeset
976
Dave Love <fx@gnu.org>
parents:
diff changeset
977 @node Dired Updating
Dave Love <fx@gnu.org>
parents:
diff changeset
978 @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
979 @cindex updating Dired buffer
c9c43bb7f1d2 Add index entries for many Dired commands and features.
Eli Zaretskii <eliz@gnu.org>
parents: 30874
diff changeset
980 @cindex refreshing displayed files
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
981
Dave Love <fx@gnu.org>
parents:
diff changeset
982 This section describes commands to update the Dired buffer to reflect
Dave Love <fx@gnu.org>
parents:
diff changeset
983 outside (non-Dired) changes in the directories and files, and to delete
Dave Love <fx@gnu.org>
parents:
diff changeset
984 part of the Dired buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
985
Dave Love <fx@gnu.org>
parents:
diff changeset
986 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
987 @item g
Dave Love <fx@gnu.org>
parents:
diff changeset
988 Update the entire contents of the Dired buffer (@code{revert-buffer}).
Dave Love <fx@gnu.org>
parents:
diff changeset
989
Dave Love <fx@gnu.org>
parents:
diff changeset
990 @item l
Dave Love <fx@gnu.org>
parents:
diff changeset
991 Update the specified files (@code{dired-do-redisplay}).
Dave Love <fx@gnu.org>
parents:
diff changeset
992
Dave Love <fx@gnu.org>
parents:
diff changeset
993 @item k
Dave Love <fx@gnu.org>
parents:
diff changeset
994 Delete the specified @emph{file lines}---not the files, just the lines
Dave Love <fx@gnu.org>
parents:
diff changeset
995 (@code{dired-do-kill-lines}).
Dave Love <fx@gnu.org>
parents:
diff changeset
996
Dave Love <fx@gnu.org>
parents:
diff changeset
997 @item s
Dave Love <fx@gnu.org>
parents:
diff changeset
998 Toggle between alphabetical order and date/time order
Dave Love <fx@gnu.org>
parents:
diff changeset
999 (@code{dired-sort-toggle-or-edit}).
Dave Love <fx@gnu.org>
parents:
diff changeset
1000
Dave Love <fx@gnu.org>
parents:
diff changeset
1001 @item C-u s @var{switches} @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
1002 Refresh the Dired buffer using @var{switches} as
Dave Love <fx@gnu.org>
parents:
diff changeset
1003 @code{dired-listing-switches}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1004 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
1005
Dave Love <fx@gnu.org>
parents:
diff changeset
1006 @kindex g @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
1007 @findex revert-buffer @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
1008 Type @kbd{g} (@code{revert-buffer}) to update the contents of the
Dave Love <fx@gnu.org>
parents:
diff changeset
1009 Dired buffer, based on changes in the files and directories listed.
Dave Love <fx@gnu.org>
parents:
diff changeset
1010 This preserves all marks except for those on files that have vanished.
Dave Love <fx@gnu.org>
parents:
diff changeset
1011 Hidden subdirectories are updated but remain hidden.
Dave Love <fx@gnu.org>
parents:
diff changeset
1012
Dave Love <fx@gnu.org>
parents:
diff changeset
1013 @kindex l @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
1014 @findex dired-do-redisplay
Dave Love <fx@gnu.org>
parents:
diff changeset
1015 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
1016 (@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
1017 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
1018 @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
1019 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
1020 then updating their lines in the buffer to indicate that status.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1021
Dave Love <fx@gnu.org>
parents:
diff changeset
1022 If you use @kbd{l} on a subdirectory header line, it updates the
Dave Love <fx@gnu.org>
parents:
diff changeset
1023 contents of the corresponding subdirectory.
Dave Love <fx@gnu.org>
parents:
diff changeset
1024
Dave Love <fx@gnu.org>
parents:
diff changeset
1025 @kindex k @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
1026 @findex dired-do-kill-lines
37484
0e8d5a17a47f Fix command names dired-do-flagged-delete,
Richard M. Stallman <rms@gnu.org>
parents: 36507
diff changeset
1027 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
1028 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
1029 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
1030 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
1031 current file as a last resort.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1032
56469
5804f0d30b6e (Dired Updating): `k' only deletes inserted subdirectories from the
Luc Teirlinck <teirllm@auburn.edu>
parents: 56113
diff changeset
1033 If you use @kbd{k} with a numeric prefix argument to kill the line
5804f0d30b6e (Dired Updating): `k' only deletes inserted subdirectories from the
Luc Teirlinck <teirllm@auburn.edu>
parents: 56113
diff changeset
1034 for a file that is a directory, which you have inserted in the Dired
5804f0d30b6e (Dired Updating): `k' only deletes inserted subdirectories from the
Luc Teirlinck <teirllm@auburn.edu>
parents: 56113
diff changeset
1035 buffer as a subdirectory, then this deletes that subdirectory from the
5804f0d30b6e (Dired Updating): `k' only deletes inserted subdirectories from the
Luc Teirlinck <teirllm@auburn.edu>
parents: 56113
diff changeset
1036 buffer as well. Typing @kbd{C-u k} on the header line for a subdirectory
5804f0d30b6e (Dired Updating): `k' only deletes inserted subdirectories from the
Luc Teirlinck <teirllm@auburn.edu>
parents: 56113
diff changeset
1037 is another way to delete a subdirectory from the Dired buffer.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1038
Dave Love <fx@gnu.org>
parents:
diff changeset
1039 The @kbd{g} command brings back any individual lines that you have
Dave Love <fx@gnu.org>
parents:
diff changeset
1040 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
1041 reinsert a subdirectory.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1042
Dave Love <fx@gnu.org>
parents:
diff changeset
1043 @cindex Dired sorting
Dave Love <fx@gnu.org>
parents:
diff changeset
1044 @cindex sorting Dired buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
1045 @kindex s @r{(Dired)}
Dave Love <fx@gnu.org>
parents:
diff changeset
1046 @findex dired-sort-toggle-or-edit
Dave Love <fx@gnu.org>
parents:
diff changeset
1047 The files in a Dired buffers are normally listed in alphabetical order
Dave Love <fx@gnu.org>
parents:
diff changeset
1048 by file names. Alternatively Dired can sort them by date/time. The
Dave Love <fx@gnu.org>
parents:
diff changeset
1049 Dired command @kbd{s} (@code{dired-sort-toggle-or-edit}) switches
Dave Love <fx@gnu.org>
parents:
diff changeset
1050 between these two sorting modes. The mode line in a Dired buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
1051 indicates which way it is currently sorted---by name, or by date.
Dave Love <fx@gnu.org>
parents:
diff changeset
1052
Dave Love <fx@gnu.org>
parents:
diff changeset
1053 @kbd{C-u s @var{switches} @key{RET}} lets you specify a new value for
Dave Love <fx@gnu.org>
parents:
diff changeset
1054 @code{dired-listing-switches}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1055
Dave Love <fx@gnu.org>
parents:
diff changeset
1056 @node Dired and Find
Dave Love <fx@gnu.org>
parents:
diff changeset
1057 @section Dired and @code{find}
Dave Love <fx@gnu.org>
parents:
diff changeset
1058 @cindex @code{find} and Dired
Dave Love <fx@gnu.org>
parents:
diff changeset
1059
Dave Love <fx@gnu.org>
parents:
diff changeset
1060 You can select a set of files for display in a Dired buffer more
Dave Love <fx@gnu.org>
parents:
diff changeset
1061 flexibly by using the @code{find} utility to choose the files.
Dave Love <fx@gnu.org>
parents:
diff changeset
1062
Dave Love <fx@gnu.org>
parents:
diff changeset
1063 @findex find-name-dired
Dave Love <fx@gnu.org>
parents:
diff changeset
1064 To search for files with names matching a wildcard pattern use
Dave Love <fx@gnu.org>
parents:
diff changeset
1065 @kbd{M-x find-name-dired}. It reads arguments @var{directory} and
Dave Love <fx@gnu.org>
parents:
diff changeset
1066 @var{pattern}, and chooses all the files in @var{directory} or its
Dave Love <fx@gnu.org>
parents:
diff changeset
1067 subdirectories whose individual names match @var{pattern}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1068
Dave Love <fx@gnu.org>
parents:
diff changeset
1069 The files thus chosen are displayed in a Dired buffer in which the
Dave Love <fx@gnu.org>
parents:
diff changeset
1070 ordinary Dired commands are available.
Dave Love <fx@gnu.org>
parents:
diff changeset
1071
Dave Love <fx@gnu.org>
parents:
diff changeset
1072 @findex find-grep-dired
Dave Love <fx@gnu.org>
parents:
diff changeset
1073 If you want to test the contents of files, rather than their names,
Dave Love <fx@gnu.org>
parents:
diff changeset
1074 use @kbd{M-x find-grep-dired}. This command reads two minibuffer
Dave Love <fx@gnu.org>
parents:
diff changeset
1075 arguments, @var{directory} and @var{regexp}; it chooses all the files in
Dave Love <fx@gnu.org>
parents:
diff changeset
1076 @var{directory} or its subdirectories that contain a match for
Dave Love <fx@gnu.org>
parents:
diff changeset
1077 @var{regexp}. It works by running the programs @code{find} and
64950
eed6291cbc92 (Dired and Find): Replace grep xref to `Compilation' node
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
1078 @code{grep}. See also @kbd{M-x grep-find}, in @ref{Grep Searching}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1079 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
1080 (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
1081 regexp is the @kbd{% g @var{regexp}} command, see @ref{Marks vs Flags}.)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1082
Dave Love <fx@gnu.org>
parents:
diff changeset
1083 @findex find-dired
Dave Love <fx@gnu.org>
parents:
diff changeset
1084 The most general command in this series is @kbd{M-x find-dired}, which
Dave Love <fx@gnu.org>
parents:
diff changeset
1085 lets you specify any condition that @code{find} can test. It takes two
Dave Love <fx@gnu.org>
parents:
diff changeset
1086 minibuffer arguments, @var{directory} and @var{find-args}; it runs
Dave Love <fx@gnu.org>
parents:
diff changeset
1087 @code{find} in @var{directory}, passing @var{find-args} to tell
Dave Love <fx@gnu.org>
parents:
diff changeset
1088 @code{find} what condition to test. To use this command, you need to
Dave Love <fx@gnu.org>
parents:
diff changeset
1089 know how to use @code{find}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1090
55780
54a65c8588e4 (Dired and Find): `find-ls-option' does not apply to `M-x locate'.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52576
diff changeset
1091 @vindex find-ls-option
54a65c8588e4 (Dired and Find): `find-ls-option' does not apply to `M-x locate'.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52576
diff changeset
1092 The format of listing produced by these commands is controlled by the
54a65c8588e4 (Dired and Find): `find-ls-option' does not apply to `M-x locate'.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52576
diff changeset
1093 variable @code{find-ls-option}, whose default value specifies using
54a65c8588e4 (Dired and Find): `find-ls-option' does not apply to `M-x locate'.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52576
diff changeset
1094 options @samp{-ld} for @code{ls}. If your listings are corrupted, you
54a65c8588e4 (Dired and Find): `find-ls-option' does not apply to `M-x locate'.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52576
diff changeset
1095 may need to change the value of this variable.
54a65c8588e4 (Dired and Find): `find-ls-option' does not apply to `M-x locate'.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52576
diff changeset
1096
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
1097 @findex locate
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
1098 @findex locate-with-filter
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
1099 @cindex file database (locate)
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
1100 @vindex locate-command
38124
72ea86c1d394 Proofreading fixes from Tim Goodwin <tjg@star.le.ac.uk>.
Eli Zaretskii <eliz@gnu.org>
parents: 37993
diff changeset
1101 @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
1102 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
1103 matching a given regular expression.
36149
a1ff91eda21c Just a short xref for dired-x.
Richard M. Stallman <rms@gnu.org>
parents: 35056
diff changeset
1104
60791
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1105 These buffers don't work entirely like ordinary Dired buffers. File
56113
c4c0d60fa2da (Dired Enter): Mention conditions on `ls' switches.
Luc Teirlinck <teirllm@auburn.edu>
parents: 56046
diff changeset
1106 operations work, but do not always automatically update the buffer.
c4c0d60fa2da (Dired Enter): Mention conditions on `ls' switches.
Luc Teirlinck <teirllm@auburn.edu>
parents: 56046
diff changeset
1107 Reverting the buffer with @kbd{g} deletes all inserted subdirectories,
c4c0d60fa2da (Dired Enter): Mention conditions on `ls' switches.
Luc Teirlinck <teirllm@auburn.edu>
parents: 56046
diff changeset
1108 and erases all flags and marks.
c4c0d60fa2da (Dired Enter): Mention conditions on `ls' switches.
Luc Teirlinck <teirllm@auburn.edu>
parents: 56046
diff changeset
1109
61047
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1110 @node Wdired
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1111 @section Editing the Dired Buffer
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1112
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1113 @cindex wdired mode
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1114 @findex wdired-change-to-wdired-mode
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1115 Wdired is a special mode that allows you to perform file operations
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1116 by editing the Dired buffer directly (the ``W'' in ``Wdired'' stands
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1117 for ``writable''.) To enter Wdired mode, type @kbd{M-x
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1118 wdired-change-to-wdired-mode} while in a Dired buffer. Alternatively,
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1119 use @samp{Edit File Names} in the @samp{Immediate} menu bar menu.
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1120
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1121 @findex wdired-finish-edit
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1122 While in Wdired mode, you can rename files by editing the file names
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1123 displayed in the Dired buffer. All the ordinary Emacs editing
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1124 commands, including rectangle operations and @code{query-replace}, are
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1125 available for this. Once you are done editing, type @kbd{C-c C-c}
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1126 (@code{wdired-finish-edit}). This applies your changes and switches
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1127 back to ordinary Dired mode.
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1128
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1129 Apart from simply renaming files, you can move a file to another
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1130 directory by typing in the new file name (either absolute or
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1131 relative). To mark a file for deletion, delete the entire filename.
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1132 To change the target of a symbolic link, just edit the target name
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1133 displayed next to the link name.
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1134
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1135 The rest of the text in the buffer, such as the file sizes and
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1136 modification dates, is marked read-only, so you can't edit it.
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1137 However, if you set @code{wdired-allow-to-change-permissions} to
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1138 @code{t}, the file permission bits can also be edited. For example,
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1139 you can change @samp{-rw-r--r--} to @samp{-rw-rw-rw-} to make a file
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1140 world-writable. These changes also take effect when you type @kbd{C-c
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1141 C-c}.
bcda0fe75703 (Wdired): New node.
Richard M. Stallman <rms@gnu.org>
parents: 60791
diff changeset
1142
60791
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1143 @node Misc Dired Features
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1144 @section Other Dired Features
52576
a90f7b4afc00 (Misc Dired Commands): New node.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
1145
a90f7b4afc00 (Misc Dired Commands): New node.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
1146 @cindex Adding to the kill ring in Dired.
58926
cf0908fe7bb0 (Dired Navigation): Add @r{(Dired)} to M-g.
Juri Linkov <juri@jurta.org>
parents: 56469
diff changeset
1147 @kindex w @r{(Dired)}
52576
a90f7b4afc00 (Misc Dired Commands): New node.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
1148 @findex dired-copy-filename-as-kill
60791
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1149 The @kbd{w} command (@code{dired-copy-filename-as-kill}) puts the
52576
a90f7b4afc00 (Misc Dired Commands): New node.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
1150 names of the marked (or next @var{n}) files into the kill ring, as if
61300
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
1151 you had killed them with @kbd{C-w}. The names are separated by a space.
52576
a90f7b4afc00 (Misc Dired Commands): New node.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
1152
60791
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1153 The main purpose of this command is so that you can yank the file
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1154 names into arguments for other Emacs commands. It also displays what
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1155 was pushed onto the kill ring, so you can use it to display the list
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1156 of currently marked files in the echo area. With a zero prefix
61300
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
1157 argument, this uses the absolute file name of each marked file. With
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
1158 just @kbd{C-u} as the prefix argument, it uses file names relative to
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
1159 the Dired buffer's default directory. (This can still contain slashes
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
1160 if in a subdirectory.) As a special case, if point is on a directory
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
1161 headerline, @kbd{w} gives you the absolute name of that directory.
03009601147e (Dired Visiting): `dired-view-command-alist' has been deleted.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61047
diff changeset
1162 Any prefix argument or marked files are ignored in this case.
60791
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1163
61846
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1164 @findex dired-compare-directories
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1165 The command @kbd{M-x dired-compare-directories} is used to compare
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1166 the current Dired buffer with another directory. It marks all the files
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1167 that are ``different'' between the two directories. It puts these marks
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1168 in all Dired buffers where these files are listed, which of course includes
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1169 the current buffer.
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1170
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1171 The default comparison method (used if you type @key{RET} at the
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1172 prompt) is to compare just the file names---each file name that does
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1173 not appear in the other directory is ``different''. You can specify
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1174 more stringent comparisons by entering a Lisp expression, which can
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1175 refer to the variables @code{size1} and @code{size2}, the respective
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1176 file sizes; @code{mtime1} and @code{mtime2}, the last modification
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1177 times in seconds, as floating point numers; and @code{fa1} and
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1178 @code{fa2}, the respective file attribute lists (as returned by the
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1179 function @code{file-attributes}). This expression is evaluated for
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1180 each pair of like-named files, and if the expression's value is
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1181 non-@code{nil}, those files are considered ``different''.
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1182
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1183 For instance, @code{M-x dired-compare-directories @key{RET} (>
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1184 mtime1 mtime2) @key{RET}} marks files newer in this directory than in
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1185 the other, and marks files older in the other directory than in this
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1186 one. It also marks files with no counterpart, in both directories, as
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1187 always.
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1188
56236a372355 (Misc Dired Features): Document dired-compare-directories.
Richard M. Stallman <rms@gnu.org>
parents: 61300
diff changeset
1189 @cindex drag and drop, Dired
60791
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1190 On the X window system, Emacs supports the ``drag and drop''
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1191 protocol. You can drag a file object from another program, and drop
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1192 it onto a Dired buffer; this either moves, copies, or creates a link
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1193 to the file in that directory. Precisely which action is taken is
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1194 determined by the originating program. Dragging files out of a Dired
fa4296e0e363 (Misc Dired Features): Rename node from Misc Dired Commands.
Richard M. Stallman <rms@gnu.org>
parents: 60103
diff changeset
1195 buffer is currently not supported.
52576
a90f7b4afc00 (Misc Dired Commands): New node.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
1196
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 46203
diff changeset
1197 @ignore
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 46203
diff changeset
1198 arch-tag: d105f9b9-fc1b-4c5f-a949-9b2cf3ca2fc1
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 46203
diff changeset
1199 @end ignore