24

Is it possible to change the name of a buffer in vim?

Specifically, I'm using Conque Shell to open shells in vim (each shell is in a buffer) and with multiple shells, I see:

10: bash - 1
11: bash - 2

in my buffer list. I would like to rename these buffers with more meaningful names (e.g., "mercurial" instead of "bash - 2"). Is it possible?

32

You can use :file newname to change the buffer name.

From :help :file_f:

Sets the current file name to {name}. The optional ! avoids truncating the message, as with :file.
If the buffer did have a name, that name becomes the alternate-file name. An unlisted buffer is created to hold the old name.

  • 3
    Thank you. But, to me, it was surprising because I could not find that command using various google searches. – Barthelemy Nov 13 '10 at 10:59
  • 2
    its important to note that this basically changes the file's save path. I was hoping for something like screen's naming of windows but it doesnt work like that – JonnyRaa Mar 19 '15 at 11:03
2

Rename the current buffer with :file <new-name> (or :f <new-name>):

:f[ile][!] {name}

Sets the current file name to {name}. The optional ! avoids truncating the message, as with :file. If the buffer did have a name, that name becomes the alternate-file name. An unlisted buffer is created to hold the old name.

1

If the buffer already has a filename, :file will not change the filename and will only change the alternate filename. You'll need to clear the name of the buffer with :0f[ile] to be able to put one.

:e foo

:0f
:file bar

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.