Vim - :tabnext N 和 :tabprev N 之间不一致

Vim - :tabnext N 和 :tabprev N 之间不一致

来自 Vim 的:help tabs

:tabp[revious] {count}
:tabN[ext] {count}
{count}<C-PageUp>
{count}gT   Go {count} tab pages back.  Wraps around from the first one
            to the last one.

尽管

:tabn[ext] {count}
{count}<C-PageDown>
{count}gt   Go to tab page {count}.  The first tab page has number one.

最后,无参数的:tabn行为与:tabp和一致:tabp 1

这是为什么?是否只是跳转3gt到选项卡 3 而不是前面的 3 个选项卡?没有什么可以阻止 vim 拥有:tabn 3and :tabjump 3,并绑定Ngt到 use:tabjump而不是:tabn。坦率地说,对我来说这看起来像是一个设计错误。

我们可以有 :tabp N仅使用内置命令转发等效项?:tabprev -2例如,我注意到人们不能使用。如果没有内置的对应项:tabp N,那为什么还要有:tabp N呢?

答案1

是的,这是不一致的,但我也发现可用的选择很方便。它允许逐一向后/向前迭代,以及绝对寻址。

为什么会这样呢?您可以通过搜索vim_dev 邮件列表提议此功能/提交补丁时的消息档案,或者询问那里是否有人记得背景。 (请注意,还有许多其他功能的接口不太理想;这是一个志愿者项目,顶部有一个瓶颈 BDFL,并且越差越好心态当然适用于此。)

要向前执行相对选项卡导航,您可以使用:

:execute 'tabnext' tabpagenr() + N

如果您觉得有用,您可以轻松定义自定义命令或映射。

相关内容