如何使用Powerline在vim中显示所有缓冲区?

3

我希望在状态栏上显示所有缓冲区的名称(我使用powerline)。并且我希望当前缓冲区可以被突出显示,而其他缓冲区则不会。当我使用:bn:bp时,它会突出显示更改的缓冲区。我该怎么做呢?


有一些插件可以做到这一点,但我不知道它们如何集成到powerline中,因为我对它一无所知。如果你想尝试集成它们,请看一下buftabs和/或bufstat。声明:我很久以前写了bufstat,现在甚至不确定我能告诉你它是如何工作的。 - Randy Morris
在你的vimrc中添加set tabline=2。这不是状态栏,但它将在选项卡栏中显示所有缓冲区。 - John Drouhard
我目前在:ls!中有557个缓冲区,在:ls中有33个。在伪标签行或状态栏中,没有办法以有用的方式列出那么多的缓冲区。 - romainl
2个回答

6
我不知道如何使用powerline实现这样的事情,但我发现vim-buftabline可以在选项卡行中完成您的需求。
个人建议,我会忘记在状态栏或选项卡栏中这么做,因为这两个区域很容易用完空间。我还会停止使用:bn / :bp,转而直接使用:b来定位到要查找的缓冲区。
看看:b的威力:
  • 使用<tab>自动补全
  • 使用<c-d>列出自动补全列表
  • 使用部分文件名。例如::b foo。与<tab>一起使用效果更佳。
  • 支持通配符。例如::b foo*bar:b foo/**/bar
  • 建议通过set hidden命令启用'hidden'
  • 拆分变体是:sb
  • 还可以接受缓冲器编号作为参数
常见映射方式:
nnoremap <leader>b :ls<cr>:b<space>

更多帮助请参考:

:h :b
:h :ls
:h 'switchbuf'
:h 'hidden'
:h 'tabline'

2
在powerline中,可以通过将以下行添加到您的.vimrc配置文件中来显示打开缓冲区的列表:
set showtabline=2

这将在你的vim会话顶部添加一个额外的状态行,并突出显示活动缓冲区。
来源:Powerline文档

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接