Como alterar o nome de um buffer vim

26

É possível alterar o nome de um buffer no vim?

Especificamente, estou usando o Conque Shell para abrir shells no vim (cada shell está em um buffer) e com vários shells, vejo:

10: bash - 1
11: bash - 2

na minha lista de buffers. Eu gostaria de renomear esses buffers com nomes mais significativos (por exemplo, "mercurial" em vez de "bash - 2"). É possível?

Barthelemy
fonte
Por que você quer mudar o nome do buffer? @Barthelemy
Pie

Respostas:

36

Você pode usar :file newnamepara alterar o nome do buffer.

De :help :file_f:

Define o nome do arquivo atual como {name}. O opcional! evita truncar a mensagem, como acontece com :file.
Se o buffer tiver um nome, esse nome se tornará o alternate-filenome. Um buffer não listado é criado para manter o nome antigo.

Thomas Themel
fonte
3
Obrigado. Mas, para mim, foi surpreendente porque não consegui encontrar esse comando usando várias pesquisas no Google.
Barthelemy
2
é importante observar que isso basicamente altera o caminho de salvamento do arquivo. Eu estava esperando por algo como nomeação de tela do Windows, mas ele não funciona assim
JonnyRaa
2

Renomeie o buffer atual com :file <new-name>(ou :f <new-name>):

:f[ile][!] {name}

Define o nome do arquivo atual como {name}. O opcional !evita truncar a mensagem, como em :file. Se o buffer tiver um nome, esse nome se tornará o nome do arquivo alternativo . Um buffer não listado é criado para manter o nome antigo.

Rory O'Kane
fonte
1

Se o buffer já tiver um nome de arquivo, :fileele não será alterado e apenas o nome de arquivo alternativo. Você precisará limpar o nome do buffer :0f[ile]para poder colocar um.

:e foo

:0f
:file bar
Jonallard
fonte