Next: Icomplete, Up: Buffer Convenience [Contents][Index]

#### 19.7.1 Making Buffer Names Unique

When several buffers visit identically-named files, Emacs must give the buffers distinct names. The default method adds a suffix based on the names of the directories that contain the files. For example, if you visit files `/foo/bar/mumble/name` and `/baz/quux/mumble/name` at the same time, their buffers will be named ‘`name<bar/mumble>`’ and ‘`name<quux/mumble>`’, respectively. Emacs adds as many directory parts as are needed to make a unique name.

You can choose from several different styles for constructing unique buffer names, by customizing the option `uniquify-buffer-name-style`.

The `forward` naming method includes part of the file’s directory name at the beginning of the buffer name; using this method, buffers visiting the files `/u/rms/tmp/Makefile` and `/usr/projects/zaphod/Makefile` would be named ‘`tmp/Makefile`’ and ‘`zaphod/Makefile`’.

In contrast, the `post-forward` naming method would call the buffers ‘`Makefile|tmp`’ and ‘`Makefile|zaphod`’. The default method `post-forward-angle-brackets` is like `post-forward`, except that it encloses the unique path in angle brackets. The `reverse` naming method would call them ‘`Makefile\tmp`’ and ‘`Makefile\zaphod`’. The nontrivial difference between `post-forward` and `reverse` occurs when just one directory name is not enough to distinguish two files; then `reverse` puts the directory names in reverse order, so that `/top/middle/file` becomes ‘`file\middle\top`’, while `post-forward` puts them in forward order after the file name, as in ‘`file|top/middle`’. If `uniquify-buffer-name-style` is set to `nil`, the buffer names simply get ‘`<2>`’, ‘`<3>`’, etc. appended.

Which rule to follow for putting the directory names in the buffer name is not very important if you are going to look at the buffer names before you type one. But as an experienced user, if you know the rule, you won’t have to look. And then you may find that one rule or another is easier for you to remember and apply quickly.

Next: Icomplete, Up: Buffer Convenience [Contents][Index]