changeset 46203:09a72d736076

Update description of * and ? for shell commands. Mention that v uses external viewers.
author Richard M. Stallman <rms@gnu.org>
date Sun, 07 Jul 2002 11:15:33 +0000
parents abfe123bd6ff
children dfc0a989ae61
files man/dired.texi
diffstat 1 files changed, 35 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/man/dired.texi	Sun Jul 07 10:56:04 2002 +0000
+++ b/man/dired.texi	Sun Jul 07 11:15:33 2002 +0000
@@ -276,12 +276,15 @@
 @item v
 @kindex v @r{(Dired)}
 @findex dired-view-file
-View the file described on the current line, using @kbd{M-x view-file}
-(@code{dired-view-file}).
+View the file described on the current line, using either an external
+viewing program or @kbd{M-x view-file} (@code{dired-view-file}).
 
-Viewing a file is like visiting it, but is slanted toward moving around
-in the file conveniently and does not allow changing the file.
-@xref{Misc File Ops,View File, Miscellaneous File Operations}.
+@vindex dired-view-command-alist
+External viewers are used for certain file types under the control of
+@code{dired-view-command-alist}.  Viewing a file with @code{view-file}
+is like visiting it, but is slanted toward moving around in the file
+conveniently and does not allow changing the file.  @xref{Misc File
+Ops,View File, Miscellaneous File Operations}.
 
 @item ^
 @kindex ^ @r{(Dired)}
@@ -658,40 +661,51 @@
 
 @itemize @bullet
 @item
-If you use @samp{*} in the shell command, then it runs just once, with
-the list of file names substituted for the @samp{*}.  The order of file
-names is the order of appearance in the Dired buffer.
+If you use @samp{*} surrounded by whitespace in the shell command,
+then the command runs just once, with the list of file names
+substituted for the @samp{*}.  The order of file names is the order of
+appearance in the Dired buffer.
 
 Thus, @kbd{! tar cf foo.tar * @key{RET}} runs @code{tar} on the entire
 list of file names, putting them into one tar file @file{foo.tar}.
 
+If you want to use @samp{*} as a shell wildcard with whitespace around
+it, write @samp{*""}.  In the shell, this is equivalent to @samp{*};
+but since the @samp{*} is not surrounded by whitespace, Dired does
+not treat it specially.
+
 @item
-If the command string doesn't contain @samp{*}, then it runs once
-@emph{for each file}, with the file name added at the end.
+If the command string doesn't contain @samp{*} surrounded by
+whitespace, then it runs once @emph{for each file}.  Normally the file
+name is added at the end.
 
 For example, @kbd{! uudecode @key{RET}} runs @code{uudecode} on each
 file.
-@end itemize
 
-What if you want to run the shell command once for each file, with the
-file name inserted in the middle?  You can use @samp{?} in the command
-instead of @samp{*}.  The current file name is substituted for
-@samp{?}.  You can use @samp{?} more than once.  For instance, here is
-how to uuencode each file, making the output file name by appending
-@samp{.uu} to the input file name:
+@item
+If the command string contains @samp{?} surrounded by whitespace, the
+current file name is substituted for @samp{?}.  You can use @samp{?}
+this way more than once in the command, and each occurrence is
+replaced.  For instance, here is how to uuencode each file, making the
+output file name by appending @samp{.uu} to the input file name:
 
 @example
 uuencode ? ? > ?.uu
 @end example
+@end itemize
 
-To use the file names in a more complicated fashion, you can use a
-shell loop.  For example, this shell command is another way to
-uuencode each file:
+To iterate over the file names in a more complicated fashion, use an
+explicit shell loop.  For example, this shell command is another way
+to uuencode each file:
 
 @example
-for file in *; do uuencode "$file" "$file" >"$file".uu; done
+for file in * ; do uuencode "$file" "$file" >"$file".uu; done
 @end example
 
+@noindent
+This simple example doesn't require a shell loop (you can do it
+with @samp{?}, but it illustrates the technique.
+
 The working directory for the shell command is the top-level directory
 of the Dired buffer.