annotate man/dired.texi @ 70059:9028ccec5e38

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