40

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?

2
  • Why do you want to change name of buffer?@Barthelemy
    – Pie
    Aug 30, 2019 at 2:11
  • The reason is stated in the question Sep 2, 2021 at 2:00

3 Answers 3

57

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
  • 3
    Thank you. But, to me, it was surprising because I could not find that command using various google searches.
    – Barthelemy
    Nov 13, 2010 at 10:59
  • 6
    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, 2015 at 11:03
  • so this is renaming the file like mv a b Nov 9, 2021 at 17:15
4

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
3

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.

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.