开发者

How to jump to the next tag in vim help file

I want to learn the vim documentation given in the standard help file. But I am stuck on a navigating issue - I just cannot go to the next tag without having to position the cursor manually. I think you would agree that it is more productive to:

  1. go to the next tag with some keystroke
  2. press Ctrl-] to read corresponding topic
  3. press Ctrl-o to return
  4. continue reading initial text

PS. while I was writing this question, I t开发者_高级运维ried some ideas on how to resolve this. I found that searching pipe character with /| is pretty close to what I want. But the tag is surrounded with two pipe '|' characters, so it's still not really optimized to use.


Use the :tn and :tp sequences to navigate between tags.

If you want to look for the next tag on the same help page, try this search:

/|.\{-}|

This means to search for:

  • The character |
  • Any characters up to the next |, matching as few as possible (that's what \{-} does).
  • Another character |

This identifies the tags in the VIM help file.


If you want to browse tags occasionally only, without mapping the search string to keyboard,

/|.*|

also does the trick, which is slightly easier to type in than the suggested

/|.\{-}|

For the case, that the "|" signs for the links in the help file are not visible, you can enable them with

:set conceallevel=0

To establish this setting permanently, please refer to Defining the settings for the vim help file


Well, I don't really see the point. When I want to read everything, I simply use <pagedown> (or <c-f> with some terminals)

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

?

Or do you mean:

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

?


You could simply remap something like:

nmap ^\ /<Bar><Bslash>zs<Bslash>k<Bslash>+<Bar><CR>

where ^\ is entered as (on my keyboard) Ctrl-V Ctrl-#: choose whatever shortcut you want.

This does a single key search for a | followed by one or more keyword characters and then a |. It puts the cursor on the first keyword character. The and bits are there due to the way map works, see

:help :map-special-chars

As an aside, I imagine that ctrl-t would make more sense than ctrl-o as it's a more direct opposite of ctrl-], but it's up to you. Having said that, ctrl-o will allow you to go back to before the search as well.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜