3

Some of my dired-rows are prefixed with an uppercase C character and I can't quite figure out what that should tell me. By experimenting around I managed to find out that the character doesn't seem to have any relation to unsaved or opened buffers. I tried to find a formal documentation describing the meaning of dired-columns but could neither find it via Google nor via C-h m.

So what does that character tell me?

Image of whole dired-buffer with details Image of whole dired-buffer without details

5

You get an uppercase C character at the beginning of the line for a file that was created by copying another file.

For example, if you copy a file from one directory to another, the new file will have C to show you this.

See the Emacs manual, node Operating on Files. It tells you:

Here are the file-manipulating Dired commands that operate on files.

C NEW <RET>

Copy the specified files (dired-do-copy). The argument NEW is the directory to copy into, or (if copying a single file) the new name. This is like the shell command cp.

If dired-copy-preserve-time is non-nil, then copying with this command preserves the modification time of the old file in the copy, like cp -p.

The variable dired-recursive-copies controls whether to copy directories recursively (like cp -r). The default is top, which means to ask before recursively copying a directory.

...

It is likely that you copied one or more files, creating new files. Perhaps you did this accidentally, or perhaps you thought you were creating the files in one location but you created them in another location, so you were surprised to see them there.

| improve this answer | |
  • Perfect, that seems to be exactly the case. Thanks alot! – Marcus Riemer Aug 12 '17 at 9:19
4

Looks like you've marked those files with a non-standard mark.

Usually you mark files with a * in order to run commands on several files at once (or with a D if you want to delete multiple files at once), but actually the mark can be any character you want. This is quite an esoteric feature, and some of the commands you might expect to have don't actually exist. The * and d keys are bound to commands which mark files with a * or a D, respectively, but there's no command which marks files with a user-specified character. However, there is * c which prompts for an old and a new character, and changes all files marked with the old character so that they are marked with the new character (this is dired-change-marks). * ? will prompt for a character and then remove the mark from any file marked with that character (dired-unmark-all-files).

If you just want it to stop bothering you, u will unmark the file under point (dired-unmark), and * ! will unmark all files in the buffer (dired-unmark-all-marks).

See the Emacs manual, specifically chapter 30.6 Dired Marks vs. Flags, for more information.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.