to operate on the files listed.
The Dired buffer is ``read-only,'' and inserting text in it is not
-useful, so ordinary printing characters such as @kbd{d} and @kbd{x} are
-used for special Dired commands. Some Dired commands @dfn{mark} or
-@dfn{flag} the @dfn{current file} (that is, the file on the current
-line); other commands operate on the marked files or on the flagged
-files.
+useful, so ordinary printing characters such as @kbd{d} and @kbd{x}
+are redefined for special Dired commands. Some Dired commands
+@dfn{mark} or @dfn{flag} the @dfn{current file} (that is, the file on
+the current line); other commands operate on the marked files or on
+the flagged files. You first mark certain files in order to operate
+on all of them with on command.
The Dired-X package provides various extra features for Dired mode.
@xref{Top, Dired-X,,dired-x, Dired Extra Version 2 User's Manual}.
* Updating: Dired Updating. Discarding lines for files of no interest.
* Find: Dired and Find. Using `find' to choose the files for Dired.
* Wdired:: Operating on files by editing the Dired buffer.
-* Tumme:: Image file and thumbnail viewing and
- manipulation from the Dired buffer.
* Misc: Misc Dired Features. Various other features.
@end menu
@vindex dired-listing-switches
To invoke Dired, do @kbd{C-x d} or @kbd{M-x dired}. The command
reads a directory name or wildcard file name pattern as a minibuffer
-argument to specify which files to list. @kbd{C-x C-f} given a
+argument to specify the files to list. @kbd{C-x C-f} given a
directory name also invokes Dired. Where @code{dired} differs from
@code{list-directory} is that it puts the buffer into Dired mode, so
that the special commands of Dired are available.
The variable @code{dired-listing-switches} specifies the options to
-give to @code{ls} for listing the directory; this string @emph{must} contain
-@samp{-l}. If you use a numeric prefix argument with the @code{dired}
-command, you can specify the @code{ls} switches with the minibuffer
-before you enter the directory specification. No matter how they are
-specified, the @code{ls} switches should all be short options (that
-is, single characters) requiring no arguments.
+give to @code{ls} for listing the directory; this string @emph{must}
+contain @samp{-l}. If you use a numeric prefix argument with the
+@code{dired} command, you can specify the @code{ls} switches with the
+minibuffer before you enter the directory specification. No matter
+how they are specified, the @code{ls} switches can include short
+options (that is, single characters) requiring no arguments, and long
+options (starting with @samp{--}) whose arguments are specified with
+@samp{=}.
@findex dired-other-window
@kindex C-x 4 d
@kindex C-n @r{(Dired)}
@kindex C-p @r{(Dired)}
All the usual Emacs cursor motion commands are available in Dired
-buffers. Some special-purpose cursor motion commands are also
-provided. The keys @kbd{C-n} and @kbd{C-p} are redefined to put the
-cursor at the beginning of the file name on the line, rather than at the
-beginning of the line.
+buffers. The keys @kbd{C-n} and @kbd{C-p} are redefined to put the
+cursor at the beginning of the file name on the line, rather than at
+the beginning of the line.
@kindex SPC @r{(Dired)}
For extra convenience, @key{SPC} and @kbd{n} in Dired are equivalent
@kindex d @r{(Dired)}
@findex dired-flag-file-deletion
- You can flag a file for deletion by moving to the line describing the
-file and typing @kbd{d} (@code{dired-flag-file-deletion}). The deletion flag is visible as a @samp{D} at
-the beginning of the line. This command moves point to the next line,
-so that repeated @kbd{d} commands flag successive files. A numeric
-argument serves as a repeat count.
-
-@cindex recursive deletion
-@vindex dired-recursive-deletes
- The variable @code{dired-recursive-deletes} controls whether the
-delete command will delete non-empty directories (including their
-contents). The default is to delete only empty directories.
+ You can flag a file for deletion by moving to the line describing
+the file and typing @kbd{d} (@code{dired-flag-file-deletion}). The
+deletion flag is visible as a @samp{D} at the beginning of the line.
+This command moves point to the next line, so that repeated @kbd{d}
+commands flag successive files. A numeric argument serves as a repeat
+count.
@kindex u @r{(Dired deletion)}
@kindex DEL @r{(Dired)}
- The files are flagged for deletion rather than deleted immediately to
-reduce the danger of deleting a file accidentally. Until you direct
-Dired to delete the flagged files, you can remove deletion flags using
-the commands @kbd{u} and @key{DEL}. @kbd{u} (@code{dired-unmark}) works
-just like @kbd{d}, but removes flags rather than making flags.
-@key{DEL} (@code{dired-unmark-backward}) moves upward, removing flags;
-it is like @kbd{u} with argument @minus{}1.
+ The reason for flagging files for deletion, rather than deleting
+files immediately, is to reduce the danger of deleting a file
+accidentally. Until you direct Dired to delete the flagged files, you
+can remove deletion flags using the commands @kbd{u} and @key{DEL}.
+@kbd{u} (@code{dired-unmark}) works just like @kbd{d}, but removes
+flags rather than making flags. @key{DEL}
+(@code{dired-unmark-backward}) moves upward, removing flags; it is
+like @kbd{u} with argument @minus{}1.
@kindex x @r{(Dired)}
@findex dired-do-flagged-delete
@cindex expunging (Dired)
- To delete the flagged files, type @kbd{x} (@code{dired-do-flagged-delete}).
-(This is also known as @dfn{expunging}.)
-This command first displays a list of all the file names flagged for
-deletion, and requests confirmation with @kbd{yes}. If you confirm,
-Dired deletes the flagged files, then deletes their lines from the text
-of the Dired buffer. The shortened Dired buffer remains selected.
+ To delete the flagged files, type @kbd{x}
+(@code{dired-do-flagged-delete}). (This is also known as
+@dfn{expunging}.) This command first displays a list of all the file
+names flagged for deletion, and requests confirmation with @kbd{yes}.
+If you confirm, Dired deletes the flagged files, then deletes their
+lines from the text of the Dired buffer. The Dired buffer, with
+somewhat fewer lines, remains selected.
If you answer @kbd{no} or quit with @kbd{C-g} when asked to confirm, you
return immediately to Dired, with the deletion flags still present in
the buffer, and no files actually deleted.
+@cindex recursive deletion
+@vindex dired-recursive-deletes
+ You can delete empty directories just like other files, but normally
+Dired cannot delete directories that are nonempty. If the variable
+@code{dired-recursive-deletes} is non-@code{nil}, then Dired can
+delete nonempty directories including all their contents. That can
+be somewhat risky.
+
@node Flagging Many Files
@section Flagging Many Files at Once
@cindex flagging many files for deletion (in Dired)
(@pxref{Backup}).
@item &
-Flag for deletion all files with certain kinds of names, names that
-suggest you could easily create the files again.
+Flag for deletion all files with certain kinds of names which suggest
+you could easily create those files again.
@item .@: @r{(Period)}
Flag excess numeric backup files for deletion. The oldest and newest
@findex dired-flag-auto-save-files
@cindex deleting auto-save files
@kbd{#} (@code{dired-flag-auto-save-files}) flags for deletion all
-files whose names look like auto-save files (@pxref{Auto Save})---that
-is, files whose names begin and end with @samp{#}.
+files whose names look like auto-save files---that is, files whose
+names begin and end with @samp{#}. @xref{Auto Save}.
@kindex ~ @r{(Dired)}
@findex dired-flag-backup-files
- @kbd{~} (@code{dired-flag-backup-files}) flags for deletion all files
-whose names say they are backup files (@pxref{Backup})---that is, files
-whose names end in @samp{~}.
+ @kbd{~} (@code{dired-flag-backup-files}) flags for deletion all
+files whose names say they are backup files---that is, files whose
+names end in @samp{~}. @xref{Backup}.
@kindex . @r{(Dired)}
@vindex dired-kept-versions
The @kbd{% d} command flags all files whose names match a specified
regular expression (@code{dired-flag-files-regexp}). Only the
non-directory part of the file name is used in matching. You can use
-@samp{^} and @samp{$} to anchor matches. You can exclude subdirectories
-by hiding them (@pxref{Hiding Subdirectories}).
+@samp{^} and @samp{$} to anchor matches. You can exclude certain
+subdirectories from marking by hiding them while you use @kbd{% d}.
+@xref{Hiding Subdirectories}.
@node Dired Visiting
@section Visiting Files in Dired
@kindex ^ @r{(Dired)}
@findex dired-up-directory
Visit the parent directory of the current directory
-(@code{dired-up-directory}). This is more convenient than moving to
-the parent directory's line and typing @kbd{f} there.
+(@code{dired-up-directory}). This is equivalent to moving to the line
+for @file{..} and typing @kbd{f} there.
@end table
@node Marks vs Flags
@cindex marking many files (in Dired)
Instead of flagging a file with @samp{D}, you can @dfn{mark} the
file with some other character (usually @samp{*}). Most Dired
-commands to operate on files use the files marked with @samp{*}, the
-exception being @kbd{x} which deletes the flagged files.
+commands to operate on files use the files marked with @samp{*}. The
+only command that operates on flagged flies is @kbd{x}, which expunges
+them.
- Here are some commands for marking with @samp{*}, or for unmarking or
-operating on marks. (@xref{Dired Deletion}, for commands to flag and
-unflag files.)
+ Here are some commands for marking with @samp{*}, for unmarking, and
+for operating on marks. (@xref{Dired Deletion}, for commands to flag
+and unflag files.)
@table @kbd
@item m
@kindex * / @r{(Dired)}
@findex dired-mark-directories
@cindex marking subdirectories (in Dired)
-Mark with @samp{*} all files which are actually directories, except for
+Mark with @samp{*} all files which are directories, except for
@file{.} and @file{..} (@code{dired-mark-directories}). With a numeric
argument, unmark all those files.
Mark (with @samp{*}) all files whose names match the regular expression
@var{regexp} (@code{dired-mark-files-regexp}). This command is like
@kbd{% d}, except that it marks files with @samp{*} instead of flagging
-with @samp{D}. @xref{Flagging Many Files}.
+with @samp{D}.
Only the non-directory part of the file name is used in matching. Use
-@samp{^} and @samp{$} to anchor matches. Exclude subdirectories by
-hiding them (@pxref{Hiding Subdirectories}).
+@samp{^} and @samp{$} to anchor matches. You can exclude
+subdirectories by temporarily hiding them (@pxref{Hiding
+Subdirectories}).
@item % g @var{regexp} @key{RET}
@findex dired-mark-files-containing-regexp
@kbd{% m}, except that it searches the file contents instead of the file
name.
-@item C-_
+@item C-x u
+@itemx C-_
+@itemx C-/
@kindex C-_ @r{(Dired)}
@findex dired-undo
Undo changes in the Dired buffer, such as adding or removing
marks (@code{dired-undo}). @emph{This command does not revert the
actual file operations, nor recover lost files!} It just undoes
-changes in the buffer itself. For example, if used after renaming one
-or more files, @code{dired-undo} restores the original names, which
-will get the Dired buffer out of sync with the actual contents of the
-directory.
+changes in the buffer itself.
+
+In some cases, using this after commands that operate on files can
+cause trouble. For example, after renaming one or more files,
+@code{dired-undo} restores the original names in the Dired buffer,
+which gets the Dired buffer out of sync with the actual contents of
+the directory.
@end table
@node Operating on Files
This section describes the basic Dired commands to operate on one file
or several files. All of these commands are capital letters; all of
them use the minibuffer, either to read an argument or to ask for
-confirmation, before they act. All of them give you several ways to
-specify which files to manipulate:
+confirmation, before they act. All of them let you specify the
+files to manipulate in these ways:
@itemize @bullet
@item
Otherwise, the command operates on the current file only.
@end itemize
+@noindent
+Certain other Dired commands, such as @kbd{!} and the @samp{%}
+commands, use the same conventions to decide which files to work on.
+
@vindex dired-dwim-target
@cindex two directories (in Dired)
Commands which ask for a destination directory, such as those which
is non-@code{nil}, and if there is another Dired buffer displayed in the
next window, that other buffer's directory is suggested instead.
- Here are the file-manipulating commands that operate on files in this
-way. (Some other Dired commands, such as @kbd{!} and the @samp{%}
-commands, also use these conventions to decide which files to work on.)
+ Here are the file-manipulating Dired commands that operate on files.
@table @kbd
@findex dired-do-copy
name.
@vindex dired-copy-preserve-time
-If @code{dired-copy-preserve-time} is non-@code{nil}, then copying with
-this command sets the modification time of the new file to be the same
-as that of the old file.
+If @code{dired-copy-preserve-time} is non-@code{nil}, then copying
+with this command preserves the modification time of the old file in
+the copy.
@vindex dired-recursive-copies
@cindex recursive copying
-The variable @code{dired-recursive-copies} controls whether
-directories are copied recursively. The default is to not copy
-recursively, which means that directories cannot be copied.
+The variable @code{dired-recursive-copies} controls whether to copy
+directories recursively. The default is @code{nil}, which means that
+directories cannot be copied.
@item D
@findex dired-do-delete
@kindex T @r{(Dired)}
@cindex changing file time (in Dired)
@item T @var{timestamp} @key{RET}
-Change the time of the specified files (@code{dired-do-touch}).
+Touch the specified files (@code{dired-do-touch}). This means
+updating their modification times to the present time.
@findex dired-do-print
@kindex P @r{(Dired)}
@cindex compressing files (in Dired)
@item Z
Compress the specified files (@code{dired-do-compress}). If the file
-appears to be a compressed file already, it is uncompressed instead.
+appears to be a compressed file already, uncompress it instead.
@findex dired-do-load
@kindex L @r{(Dired)}
more matches. @xref{Tags Search}.
@end table
-@kindex + @r{(Dired)}
-@findex dired-create-directory
- One special file-operation command is @kbd{+}
-(@code{dired-create-directory}). This command reads a directory name and
-creates the directory if it does not already exist.
-
@node Shell Commands in Dired
@section Shell Commands in Dired
@cindex shell commands, Dired
@findex dired-do-shell-command
@kindex ! @r{(Dired)}
@kindex X @r{(Dired)}
-The Dired command @kbd{!} (@code{dired-do-shell-command}) reads a shell
-command string in the minibuffer and runs that shell command on all the
-specified files. @kbd{X} is a synonym for @kbd{!}. You can specify the
-files to operate on in the usual ways for Dired commands
-(@pxref{Operating on Files}). There are two ways of applying a shell
-command to multiple files:
+The Dired command @kbd{!} (@code{dired-do-shell-command}) reads a
+shell command string in the minibuffer and runs that shell command on
+all the specified files. (@kbd{X} is a synonym for @kbd{!}.) You can
+specify the files to operate on in the usual ways for Dired commands
+(@pxref{Operating on Files}).
+
+ The working directory for the shell command is the top-level directory
+of the Dired buffer.
+
+ There are two ways of applying a shell command to multiple files:
@itemize @bullet
@item
@item
However, if the command string contains @samp{?} surrounded by
-whitespace, the current file name is substituted for @samp{?} (rather
+whitespace, the current file name is substituted for @samp{?} (rather
than added at the end). You can use @samp{?} this way more than once
in the command, and the same file name replaces each occurrence.
@end itemize
-To iterate over the file names in a more complicated fashion, use an
+ To iterate over the file names in a more complicated fashion, use an
explicit shell loop. For example, here is how to uuencode each file,
making the output file name by appending @samp{.uu} to the input file
name:
for file in * ; do uuencode "$file" "$file" >"$file".uu; done
@end example
-The working directory for the shell command is the top-level directory
-of the Dired buffer.
-
-The @kbd{!} command does not attempt to update the Dired buffer to show
-new or modified files, because it doesn't really understand shell
+ The @kbd{!} command does not attempt to update the Dired buffer to
+show new or modified files, because it doesn't understand shell
commands, and does not know what files the shell command changed. Use
the @kbd{g} command to update the Dired buffer (@pxref{Dired
Updating}).
@section Transforming File Names in Dired
This section describes Dired commands which alter file names in a
-systematic way.
+systematic way. Each command operates on some or all of the marked
+files, using a new name made by transforming the existing name.
Like the basic Dired file-manipulation commands (@pxref{Operating on
Files}), the commands described here operate either on the next
@emph{interactively}: they ask you to confirm the operation for each
candidate file. Thus, you can select more files than you actually
need to operate on (e.g., with a regexp that matches many files), and
-then refine the selection by typing @kbd{y} or @kbd{n} when the
+then filter the selected names by typing @kbd{y} or @kbd{n} when the
command prompts for confirmation.
@table @kbd
from the name of the old file.
@end table
- The four regular-expression substitution commands effectively perform
-a search-and-replace on the selected file names in the Dired buffer.
-They read two arguments: a regular expression @var{from}, and a
-substitution pattern @var{to}.
-
- The commands match each ``old'' file name against the regular
-expression @var{from}, and then replace the matching part with @var{to}.
-You can use @samp{\&} and @samp{\@var{digit}} in @var{to} to refer to
-all or part of what the pattern matched in the old file name, as in
-@code{replace-regexp} (@pxref{Regexp Replace}). If the regular expression
-matches more than once in a file name, only the first match is replaced.
+ The four regular-expression substitution commands effectively
+perform a search-and-replace on the selected file names. They read
+two arguments: a regular expression @var{from}, and a substitution
+pattern @var{to}; they match each ``old'' file name against
+@var{from}, and then replace the matching part with @var{to}. You can
+use @samp{\&} and @samp{\@var{digit}} in @var{to} to refer to all or
+part of what the pattern matched in the old file name, as in
+@code{replace-regexp} (@pxref{Regexp Replace}). If the regular
+expression matches more than once in a file name, only the first match
+is replaced.
For example, @kbd{% R ^.*$ @key{RET} x-\& @key{RET}} renames each
selected file by prepending @samp{x-} to its name. The inverse of this,
Normally, the replacement process does not consider the files'
directory names; it operates on the file name within the directory. If
you specify a numeric argument of zero, then replacement affects the
-entire absolute file name including directory name. (Non-zero
+entire absolute file name including directory name. (A non-zero
argument specifies the number of files to operate on.)
- Often you will want to select the set of files to operate on using the
-same @var{regexp} that you will use to operate on them. To do this,
-mark those files with @kbd{% m @var{regexp} @key{RET}}, then use the
-same regular expression in the command to operate on the files. To make
-this easier, the @kbd{%} commands to operate on files use the last
-regular expression specified in any @kbd{%} command as a default.
+ You may want to select the set of files to operate on using the same
+regexp @var{from} that you will use to operate on them. To do this,
+mark those files with @kbd{% m @var{from} @key{RET}}, then use the
+same regular expression in the command to operate on the files. To
+make this more convenient, the @kbd{%} commands to operate on files
+use the last regular expression specified in any @kbd{%} command as a
+default.
@node Comparison in Dired
@section File Comparison with Dired
@cindex compare files (in Dired)
Here are two Dired commands that compare specified files using
-@code{diff}.
+@code{diff}. They show the output in a buffer using Diff mode
+(@pxref{Comparing Files}).
@table @kbd
@item =
@findex dired-diff
@kindex = @r{(Dired)}
-Compare the current file (the file at point) with another file (the file
-at the mark) using the @code{diff} program (@code{dired-diff}). The
-file at the mark is the first argument of @code{diff}, and the file at
-point is the second argument. Use @kbd{C-@key{SPC}}
+Compare the current file (the file at point) with another file (the
+file at the mark) using the @code{diff} program (@code{dired-diff}).
+The file at the mark is the first argument of @code{diff}, and the
+file at point is the second argument. This refers to the ordinary
+Emacs mark, not Dired marks; use @kbd{C-@key{SPC}}
(@code{set-mark-command}) to set the mark at the first file's line
-(@pxref{Setting Mark}), since @code{dired-diff} ignores the files marked
-with the Dired's @kbd{m} command.
+(@pxref{Setting Mark}).
@findex dired-backup-diff
@kindex M-= @r{(Dired)}
Compare the current file with its latest backup file
(@code{dired-backup-diff}). If the current file is itself a backup,
compare it with the file it is a backup of; this way, you can compare
-a file with any backup version of your choice.
+a file with any one of its backups.
The backup file is the first file given to @code{diff}.
@end table
in the minibuffer.) That produces a recursive directory listing showing
all subdirectories at all levels.
- But usually all the subdirectories are too many; usually you will
-prefer to include specific subdirectories only. You can do this with
-the @kbd{i} command:
+ More often, you will want to show only specific subdirectories. You
+can do this with the @kbd{i} command:
@table @kbd
@findex dired-maybe-insert-subdir
@cindex hiding in Dired (Dired)
@dfn{Hiding} a subdirectory means to make it invisible, except for its
-header line, via selective display (@pxref{Selective Display}).
+header line.
@table @kbd
@item $
subdirectory. For example, the commands to operate on marked files
ignore files in hidden directories even if they are marked. Thus you
can use hiding to temporarily exclude subdirectories from operations
-without having to remove the markers.
+without having to remove the Dired marks on files in those
+subdirectories.
@node Dired Updating
@section Updating the Dired Buffer
Update the entire contents of the Dired buffer (@code{revert-buffer}).
@item l
-Update the specified files (@code{dired-do-redisplay}).
+Update the specified files (@code{dired-do-redisplay}). You specify the
+files for @kbd{l} in the same way as for file operations.
@item k
Delete the specified @emph{file lines}---not the files, just the lines
If you use @kbd{k} with a numeric prefix argument to kill the line
for a file that is a directory, which you have inserted in the Dired
-buffer as a subdirectory, then this deletes that subdirectory from the
-buffer as well. Typing @kbd{C-u k} on the header line for a subdirectory
-is another way to delete a subdirectory from the Dired buffer.
+buffer as a subdirectory, it deletes that subdirectory from the buffer
+as well. Typing @kbd{C-u k} on the header line for a subdirectory
+also deletes the subdirectory from the Dired buffer.
The @kbd{g} command brings back any individual lines that you have
killed in this way, but not subdirectories---you must use @kbd{i} to
@var{pattern}, and chooses all the files in @var{directory} or its
subdirectories whose individual names match @var{pattern}.
- The files thus chosen are displayed in a Dired buffer in which the
+ The files thus chosen are displayed in a Dired buffer, in which the
ordinary Dired commands are available.
@findex find-grep-dired
@cindex file database (locate)
@vindex locate-command
@kbd{M-x locate} provides a similar interface to the @code{locate}
-program. @kbd{M-x locate-with-filter} is similar, but keeps only lines
-matching a given regular expression.
+program. @kbd{M-x locate-with-filter} is similar, but keeps only files
+whose names match a given regular expression.
- These buffers don't work entirely like ordinary Dired buffers. File
+ These buffers don't work entirely like ordinary Dired buffers: file
operations work, but do not always automatically update the buffer.
Reverting the buffer with @kbd{g} deletes all inserted subdirectories,
and erases all flags and marks.
Apart from simply renaming files, you can move a file to another
directory by typing in the new file name (either absolute or
relative). To mark a file for deletion, delete the entire filename.
-To change the target of a symbolic link, just edit the target name
-displayed next to the link name.
+To change the target of a symbolic link, edit the link target name
+which appears next to the link name.
The rest of the text in the buffer, such as the file sizes and
modification dates, is marked read-only, so you can't edit it.
However, if you set @code{wdired-allow-to-change-permissions} to
-@code{t}, the file permission bits can also be edited. For example,
-you can change @samp{-rw-r--r--} to @samp{-rw-rw-rw-} to make a file
+@code{t}, you can edit the file permissions. For example, you can
+change @samp{-rw-r--r--} to @samp{-rw-rw-rw-} to make a file
world-writable. These changes also take effect when you type @kbd{C-c
C-c}.
-@node Tumme
-@section Thumbnail and image file viewing and manipulation
-
-@cindex tumme mode
-
- Tumme provides for simple viewing of thumbnails of image files. It
-provides viewing of the original file, sized or in full size, inside
-Emacs or in an external viewer.
-
- Tumme aims to be both easy to use for a beginner but also powerful
-and useful to an experienced user.
-
- The quickest way to try out Tumme is to use the command
-@code{tumme}. It will prompt for a directory where there are images
-files. All images in that directory will get thumbnail files created
-for them, and the thumbnails will be displayed in the ``thumbnail
-buffer''.
-
- If the directory contains many image files and becayse thumbnails
-are created on the fly before they can be displayed, the above command
-might take a long time, especially the first time (consecutive
-viewings will use the cached thumbnail files). Also, if the number of
-image files is higher than @code{tumme-show-all-from-dir-max-files},
-the command will be aborted. To work around this you can instead mark
-the files you want to look at, using @kbd{m} as usual in Dired, and
-then type @kbd{C-t d} (@code{tumme-display-thumbs}).
-
- Regardless of which command you chose to display the thumbnails, a
-new buffer will open up, displaying thumbnail images of the files that
-were marked in dired. The new buffer will be the active one.
-
- With point in the thumbnail buffer, type @kbd{RET}
-(@code{tumme-display-thumbnail-original-image}) to display a sized
-version of it in another window. The image will be sized to fit the
-window. Use the arrow keys to move around in the buffer. For easy
-browing, type @kbd{SPC} (@code{tumme-display-next-thumbnail-original})
-to advance and display the next image. Typing @kbd{DEL}
-(@code{tumme-display-previous-thumbnail-original}) backs up to the
-previous thumbnail and displays that instead.
-
- If you want to see the image in its original size, either provide a
-prefix argument (@kbd{C-u}) before pressing @kbd{RET}, or type
-@kbd{C-return} (@code{tumme-thumbnail-display-external}) to display
-the image in an external viewer. To use the latter,
-@code{tumme-external-viewer} must be configured.
-
- If you find in image that you want to delete, type @kbd{d}
-(@code{tumme-flag-thumb-original-file}) and the file will be flagged
-for deletion in the dired buffer. If you just want visually to delete
-the thumbnail image from the thumbnail buffer, type @kbd{C-d}
-(@code{tumme-delete-char}).
-
- More advanced features include commands for using ``tags''. ``Tag''
-is just another word for ``keyword'', ``label'' or ``category''. In
-short, it is meta data used to categorize an image file. Commands
-exist to add tags for one or many image files from dired, to mark
-files having a certain tag in Dired and to remove tags from files.
-The tags put on image files are stored in a database file (currently a
-plain text file).
-
- To tag image files, mark them in the dired buffer and type @kbd{C-t
-t} (@code{tumme-tag-files}). You will be prompted for a tag. To mark
-files having a certain tag, type @kbd{C-t f}
-(@code{tumme-mark-tagged-files}). After marking image files with a
-certain tag, they can be viewed as explained earlier, by typing
-@key{C-t d}.
-
- You can also tag a file from the thumbnail buffer by typing @kbd{t
-t} and remove it by typing @kbd{t r}. There is also a special ``tag''
-called ``comment'' for each file (it is not a tag in the exact same
-sense as the other tags, it is handled slightly different). That is
-used to enter a comment or description about the image. You comment a
-file from the thumbnail buffer by typing @kbd{c}. You will be
-prompted for a comment. Comments can also be added from Dired, and
-then also to multiple files at once, by typing @kbd{C-t c}
-(@code{tumme-dired-comment-files}).
-
- Tumme also provides simple image manipulation commands, like
-rotating thumbnails and original image files. In the thumbnail
-buffer, type @kbd{L} to rotate the original image 90 degrees anti
-clockwise, and @kbd{R} to rotate it 90 degrees clockwise. This
-rotation will be done lossless (the image quality will not be reduced)
-and needs an external utility called JpegTRAN to work.
-
@node Misc Dired Features
@section Other Dired Features
+@kindex + @r{(Dired)}
+@findex dired-create-directory
+ An unusual Dired file-operation command is @kbd{+}
+(@code{dired-create-directory}). This command reads a directory name,
+and creates the directory if it does not already exist.
+
@cindex Adding to the kill ring in Dired.
@kindex w @r{(Dired)}
@findex dired-copy-filename-as-kill
names of the marked (or next @var{n}) files into the kill ring, as if
you had killed them with @kbd{C-w}. The names are separated by a space.
+ With a zero prefix argument, this uses the absolute file name of
+each marked file. With just @kbd{C-u} as the prefix argument, it uses
+file names relative to the Dired buffer's default directory. (This
+can still contain slashes if in a subdirectory.) As a special case,
+if point is on a directory headerline, @kbd{w} gives you the absolute
+name of that directory. Any prefix argument or marked files are
+ignored in this case.
+
The main purpose of this command is so that you can yank the file
names into arguments for other Emacs commands. It also displays what
-was pushed onto the kill ring, so you can use it to display the list
-of currently marked files in the echo area. With a zero prefix
-argument, this uses the absolute file name of each marked file. With
-just @kbd{C-u} as the prefix argument, it uses file names relative to
-the Dired buffer's default directory. (This can still contain slashes
-if in a subdirectory.) As a special case, if point is on a directory
-headerline, @kbd{w} gives you the absolute name of that directory.
-Any prefix argument or marked files are ignored in this case.
+it added to the kill ring, so you can use it to display the list of
+currently marked files in the echo area.
@findex dired-compare-directories
The command @kbd{M-x dired-compare-directories} is used to compare