作者:手机用户2502882291 | 来源:互联网 | 2023-05-20 04:37
我正在使用vim-airline插件工作得非常好,但是在标签之间切换的唯一方法是用户:bp or :bn
,这是快捷方式:bprevious or :bnext
.这个问题是,如果我在第一个选项卡上并想要切换到最后一个选项卡,即第10个选项卡,那么我必须键入:bn
十次才能到达那里.我该如何直接切换?也许紧迫的事情arrow keys
会有益.
1> romainl..:
您的问题是您安装了一个插件,旨在模糊Vim的常规命令和工作流,甚至不知道这些常规方法.你所采取的捷径让你走向死胡同,所以你唯一合理的解决办法就是回到主干道,正确地学习Vim,而不需要训练轮子和拐杖.
所以......从您的问题来看,您似乎正在使用航空公司所谓的"更智能的标签",它在虚假的标签中显示您的开放缓冲区.
如果它是一个真正的tabline,它们实际上是标签页,你可以用它们自己的一组命令在它们之间移动.
但它们是缓冲区,是的,您应该使用以下命令在它们之间移动:
:bnext
:bprevious
:bfirst
:blast
:b10
:b
当然,这些都可以为了您的方便而进行映射.
但是......该插件不显示缓冲区编号,因此您无法使用:b10
可靠地跳转到假"tabline"中的第十个缓冲区,这样您工具带中的工具就少了一个.
一些特殊的缓冲区,比如quickfix列表,可以带:bn
/ :bn
不带 - 可能 - 被列在你的假"tabline"中,这样就可以使你的假"tabline"成为一个相当糟糕的抽象,即使不考虑一般标签的明显限制.
当你真正使用标签页时,那个虚假的"tabline"就会变成一个半真实的"tabline".
把两个截然不同的东西 - 以自己的方式强大 - 将概念合并为一个单一的混蛋并不是一个好主意.
我建议您禁用该选项并使用缓冲区和标签页,因为它们是要使用的.
参考:
:help buffers
:help tab-page
在vim中,选项卡不是您从sublimetext或任何其他编辑器知道的选项卡.简单地说:buffers =所有打开的文件.tabs =一定数量的缓冲区.
这是因为,由于插件作者对用户体验的奇怪想法,你会混淆标签页和缓冲区.如果使用缓冲区,请使用缓冲区命令(`:help buffers`); 如果使用标签页,请使用标签页命令(`:help tab-page`).
2> 小智..:
同意@romainl,但是您可以随时将+ tab映射到:bn或:bp。
" Tab navigation like Firefox.
nnoremap :bprevious
nnoremap :bnext
这在文本模式的vim中(例如通过SSH)不起作用,因为Ctrl-Tab无法映射。但是,它确实可以在gVim中工作。