如何在vim帮助文件中跳转到下一个标签

33

我想学习vim标准帮助文档中给出的文档。但我遇到了一个导航问题-我无法在不手动定位光标的情况下转到下一个标签。我认为您会同意以下方式更具生产力:

  1. 使用一些按键来转到下一个标签
  2. 按Ctrl-]阅读相应的主题
  3. 按Ctrl-o返回
  4. 继续阅读初始文本

PS. 当我写这个问题时,我尝试了一些解决方法。我发现通过使用/|搜索管道字符相当接近我想要的效果。但标签被两个管道 '|' 字符包围,因此仍然不是最优化的使用方式。

4个回答

30

使用:tn:tp序列在标签之间进行导航。

如果您想查找相同帮助页面上的下一个标签,请尝试以下搜索:

/|.\{-}|

这意味着要搜索:

  • 字符 |
  • 任何字符直到下一个 |,尽可能少地匹配(这就是 \{-} 的作用)。
  • 另一个字符 |

这用于识别VIM帮助文件中的标签。


这不起作用。提到的组合仅适用于标签搜索。我说的是在没有先前搜索的情况下进行导航。 - altern
这是我在主题中提到的内容的扩展。我认为我可以将其映射到<kbd>tab</kbd>,然后它可能会起作用,谢谢。 - altern

7

如果您只是偶尔想浏览标签,而不需要将搜索字符串映射到键盘上,则可以这样做:

/|.*|

还有一个方法也可以解决问题,比建议的方法打字稍微容易一些。

/|.\{-}|

如果帮助文件中链接的“|”符号不可见,您可以通过以下方法启用它们:

:set conceallevel=0

要永久建立此设置,请参考定义vim帮助文件的设置


4

嗯,我真的看不出有什么意义。当我想要阅读全部内容时,我只需使用<pagedown>(或在某些终端中使用<c-f>

" .vim/ftplugin/help/navigate.vim
nnoremap <buffer> <tab> /\*\S\+\*/<cr>zt

?

Or do you mean:

nnoremap <buffer> <tab> /\|\zs\S\{-}\|/<cr><c-]>

?


1
是的,我指的是第二个。但是,坦率地说,我确信vim有内置命令来实现这个目的,只是我找不到它。 - altern

3
您可以简单地重新映射类似以下的内容:
nmap ^\ /<Bar><Bslash>zs<Bslash>k<Bslash>+<Bar><CR>

在我的键盘上,输入^\\的快捷键是Ctrl-V Ctrl-#,你可以选择任何你想要的快捷键。

这将进行一个单键搜索,搜索一个后跟一个或多个关键字符和一个|的字符串。它把光标放在第一个关键字符上。由于map工作的方式,其中包含了<CR><BAR>,请参见。

:help :map-special-chars

顺便说一下,我认为ctrl-t比ctrl-o更合理,因为它是ctrl-]的更直接的相反操作,但这取决于你。不过话说回来,ctrl-o也可以让你回到搜索之前。


在这里不需要使用<Bar>和<Bslash>。在这种情况下,|和\就足够了。 - Luc Hermitte
@Luc - 我最初尝试了那个,但是出现了 E10: \ should be followed by /, ? or & 的错误。将 |\ 替换为 <Bar><Bslash> 后问题得到解决。 - DrAl
3
我的错误,应该是\| - Luc Hermitte

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