1

使用显示标签栏的 VIM 时。我想使用下一个命令.vimrc

nnoremap tn <C-w>h<cr>

跳转到标签栏中的下一个标签。但它根本没有效果。

当我输入 tn 时,光标跳转到下一个标签,但主窗口保持静止

有人可以帮助我吗?

4

2 回答 2

3

我不再使用 TagBar,所以我无法为您测试它,但文档似乎说您可以使用:

:TagbarOpen fj

跳转到 TagBar 窗口。我认为它比<C-w>h与特定布局密切相关的更可靠。

因此,可能的映射是:

nnoremap tn :TagbarOpen fj<CR>

但是您的映射和这个映射都不允许您将光标放在您似乎想要的下一个标签上(“跳转到标签栏中的下一个标签”)。TagBar 有一个映射,<C-n>可以转到下一个可能是也可能不是您想要的顶级标签。您可以将其添加到混合中,或者,也许,使用j

nnoremap tn :TagbarOpen fj<CR><C-n>
nnoremap tn :TagbarOpen fj<CR>j

附带说明一下,在使用一个月后,我发现 TagBar 在显示我的代码结构方面相当出色,但在帮助我浏览它方面却相当糟糕。因为我主要将它用于导航,所以我放弃了它,而是选择了 Vim 的默认 ctags 集成(<C-]>、、:tag <Tab>等等:tselect……)和 CtrlP 的美妙的:CtrlPBufTag:CtrlPTag

于 2013-01-23T12:49:00.540 回答
1

通常,<CR>在正常模式下,只需将光标移动到下一行的开头。为了使该键跳转到当前行的标签,标签插件在其标签窗口中定义了一个缓冲区本地映射。虽然通常建议使用:nnoremap,但这是一种必须允许重新映射的情况:nmap

:nmap tn <C-w>h<cr>
于 2013-01-23T12:26:01.637 回答