Dired Marks vs. Flags
=====================
Instead of flagging a file with `D', you can "mark" the file with
some other character (usually `*'). Most Dired commands to operate on
files use the files marked with `*', the exception being `x' which
deletes the flagged files.
Here are some commands for marking with `*', or for unmarking or
operating on marks. (Note:Dired Deletion, for commands to flag and
unflag files.)
`m'
`* m'
Mark the current file with `*' (`dired-mark'). With a numeric
argument N, mark the next N files starting with the current file.
(If N is negative, mark the previous -N files.)
`* *'
Mark all executable files with `*' (`dired-mark-executables').
With a numeric argument, unmark all those files.
`* @'
Mark all symbolic links with `*' (`dired-mark-symlinks'). With a
numeric argument, unmark all those files.
`* /'
Mark with `*' all files which are actually directories, except for
`.' and `..' (`dired-mark-directories'). With a numeric argument,
unmark all those files.
`* s'
Mark all the files in the current subdirectory, aside from `.' and
`..' (`dired-mark-subdir-files').
`u'
`* u'
Remove any mark on this line (`dired-unmark').
`<DEL>'
`* <DEL>'
Move point to previous line and remove any mark on that line
(`dired-unmark-backward').
`* !'
Remove all marks from all the files in this Dired buffer
(`dired-unmark-all-marks').
`* ? MARKCHAR'
Remove all marks that use the character MARKCHAR
(`dired-unmark-all-files'). The argument is a single
character--do not use <RET> to terminate it. See the description
of the `* c' command below, which lets you replace one mark
character with another.
With a numeric argument, this command queries about each marked
file, asking whether to remove its mark. You can answer `y'
meaning yes, `n' meaning no, or `!' to remove the marks from the
remaining files without asking about them.
`* C-n'
Move down to the next marked file (`dired-next-marked-file') A
file is "marked" if it has any kind of mark.
`* C-p'
Move up to the previous marked file (`dired-prev-marked-file')
`* t'
Toggle all marks (`dired-do-toggle'): files marked with `*' become
unmarked, and unmarked files are marked with `*'. Files marked in
any other way are not affected.
`* c OLD-MARKCHAR NEW-MARKCHAR'
Replace all marks that use the character OLD-MARKCHAR with marks
that use the character NEW-MARKCHAR (`dired-change-marks'). This
command is the primary way to create or use marks other than `*'
or `D'. The arguments are single characters--do not use <RET> to
terminate them.
You can use almost any character as a mark character by means of
this command, to distinguish various classes of files. If
OLD-MARKCHAR is a space (` '), then the command operates on all
unmarked files; if NEW-MARKCHAR is a space, then the command
unmarks the files it acts on.
To illustrate the power of this command, here is how to put `D'
flags on all the files that have no marks, while unflagging all
those that already have `D' flags:
* c D t * c SPC D * c t SPC
This assumes that no files were already marked with `t'.
`% m REGEXP <RET>'
`* % REGEXP <RET>'
Mark (with `*') all files whose names match the regular expression
REGEXP (`dired-mark-files-regexp'). This command is like `% d',
except that it marks files with `*' instead of flagging with `D'.
Note:Flagging Many Files.
Only the non-directory part of the file name is used in matching.
Use `^' and `$' to anchor matches. Exclude subdirectories by
hiding them (Note:Hiding Subdirectories).
`% g REGEXP <RET>'
Mark (with `*') all files whose _contents_ contain a match for the
regular expression REGEXP (`dired-mark-files-containing-regexp').
This command is like `% m', except that it searches the file
contents instead of the file name.
`C-_'
Undo changes in the Dired buffer, such as adding or removing marks
(`dired-undo'). _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, `dired-undo' restores the original names, which will
get the Dired buffer out of sync with the actual contents of the
directory.