如何更改 vim 缓冲区的名称

如何更改 vim 缓冲区的名称

vim 中可以更改缓冲区的名称吗?

具体来说,我正在使用康克壳牌要在 vim 中打开 shell(每个 shell 都在缓冲区中)并且使用多个 shell,我看到:

10: bash - 1
11: bash - 2

在我的缓冲区列表中。我想用更有意义的名称重命名这些缓冲区(例如,“mercurial”而不是“bash - 2”)。是否可以?

答案1

您可以使用:file newname更改缓冲区名称。

:help :file_f:

将当前文件名设置为{name}.可选的!避免截断消息,就像:file.
如果缓冲区确实有名称,则该名称将成为名称alternate-file。创建一个未列出的缓冲区来保存旧名称。

答案2

如果缓冲区已有文件名,:file则不会更改文件名,而只会更改备用文件名。您需要清除缓冲区的名称才能:0f[ile]放置一个。

:e foo

:0f
:file bar

答案3

将当前缓冲区重命名为:file <new-name>(或者:f <new-name>):

:f[ile][!] {name}

将当前文件名设置为{name}.该选项!避免截断消息,就像:file。如果缓冲区确实有名称,则该名称将成为备用文件姓名。创建一个未列出的缓冲区来保存旧名称。

答案4

如果您尝试使用变量从 vim 函数执行此操作,您可以这样做:

function! MyFunc()
  let file_name = 'Some data here'
  execute 'file ' . file_name
endfunction

相关内容