GNU Emacs Manual - Marks vs Flags

Go to the first, previous, next, last section, table of contents.

## 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, aside from "expunge" (`x`), look for files marked with ``*'`.

Here are some commands for marking with ``*'`, or for unmarking or operating on marks. (See section Deleting Files with Dired, 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-files-no-query`).
`* ? 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. 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 new`
  Replace all marks that use the character old with marks that use the character new (`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 is a space (`` '`), then the command operates on all unmarked files; if new 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 are 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'`. See section Flagging Many Files at Once. Only the non-directory part of the file name is used in matching. Use ``^'` and ``$'` to anchor matches. Exclude subdirectories by hiding them (see section 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`).

Go to the first, previous, next, last section, table of contents.