我使用的是vim-airline插件,在选项卡之间切换的唯一方法是使用:bp or :bn
,这是:bprevious or :bnext
的快捷方式。这样做的问题是,如果我在第一个选项卡上,并希望切换到最后一个选项卡,即第10个选项卡,那么我必须键入:bn
十次才能到达那里。**我如何直接切换?**也许按arrow keys
的东西会有好处。
我使用的是vim-airline插件,在选项卡之间切换的唯一方法是使用:bp or :bn
,这是:bprevious or :bnext
的快捷方式。这样做的问题是,如果我在第一个选项卡上,并希望切换到最后一个选项卡,即第10个选项卡,那么我必须键入:bn
十次才能到达那里。**我如何直接切换?**也许按arrow keys
的东西会有好处。
6条答案
按热度按时间iovurdzv1#
你的问题是你安装了一个插件,用来混淆Vim的常规命令和工作流程,而你甚至不知道这些常规方法。你走的捷径把你带到了一个死胡同,所以你唯一合理的解决方案是回到主路上,正确地学习Vim,而不是学习辅助轮和拐杖。
所以...从你的问题来看,你似乎在使用Airline所谓的“智能标签行”,它会在一个假标签行中显示你打开的 * 缓冲区 *。
如果它是一个真实的的标签行,它们实际上是 * 标签页 *,您可以使用它们自己的一组命令在它们之间移动。
但它们是 * 缓冲区 *,是的,您应该使用以下命令在它们之间移动:
当然,为了方便起见,您可以将这些数据全部Map。
但是......该插件不显示缓冲区编号,因此您无法使用
:b10
可靠地跳转到您的假“tabline”中的第十个缓冲区,因此您的工具带中少了一个工具。一些特殊的缓冲区,比如quickfix列表,可以通过
:bn
/:bn
访问,而不需要--很可能--在你的伪“标签行”中列出,这使得你的伪“标签行”成为一个相当糟糕的抽象,即使不考虑标签的明显局限性。还有一种特殊的行为,即假的“标签行”,当你真正使用标签页时,它会变成半真实的“标签行”。
把两个截然不同的概念合并成一个单一的概念并不是一个好主意。
我建议您禁用该选项,并使用缓冲区和选项卡页,因为它们是要使用的。
参考编号:
hgtggwj02#
同意@romainl,但你可以随时将你的+tabMap到:bn或:bp,以方便你。
" Tab navigation like Firefox. nnoremap <C-S-tab> :bprevious<CR> nnoremap <C-tab> :bnext<CR>
57hvy0tb3#
除了Rafi的答案之外,还可以将其放在.vimrc中,以便直接访问buffer / airline选项卡。
或者,您也可以在航空公司购买
iyr7buue4#
如果你使用的是vim-airline,我强烈建议你使用
AirlineSelectTab
命令,你可以通过:help airline
看到它,下面是配置。0qx6xfy65#
如果使用制表符而不是缓冲区
56lgkhnf6#
我已经将Vim配置为使用Ctrl +箭头键在选项卡之间切换。
Ctrl + ←将切换到当前选项卡左侧的选项卡。
Ctrl + →将切换到当前选项卡右侧的选项卡。
Ctrl + ↑将切换到第一个选项卡。
Ctrl + ↓将切换到最后一个选项卡。
要实现上述行为,请使用以下行更新您的vimrc:
这与vim航空插件以及工程。
参考:Using vim tab pages