use :tjump instead of :tag vim on pressing ctrl-]
Asked Answered
F

1

9

in vim,
when i press ctrl-]

1) the usual behavior:
it goes to the first matching tag with the word under the cursor, after that we need to do :tjump separately to see a list of all matching tags and then jump to the desired tag.

2) what i want is:
vim should search the tag file,
if there are multiple matches, show me a list of all the matching tags
if there is one match, simply jump to the matching tag
(just like :tjump does)

this behavior(2) already happens when we use g-ctrl-], but i want it to happen with ctrl-]
i have seen behavior(2) using ctrl-] in some vims in some linuses.

please tell me how i can obtain behavior(2). in other words,
please tell me how i can make ctrl-] to behave like g-ctrl-] using .vimrc or whatever

Flapjack answered 3/10, 2011 at 21:6 Comment(0)
O
15

This will map <c-]> to g<c-]> for both normal and visual modes.

nnoremap <c-]> g<c-]>
vnoremap <c-]> g<c-]>

I suggest you map g<c-]> to <c-]>. In other words just swap the commands.

nnoremap g<c-]> <c-]>
vnoremap g<c-]> <c-]>
Ordinary answered 3/10, 2011 at 21:10 Comment(4)
thanks a lot.. that solved it.. mapping <c-]> to g<c-]> worked. put it in vimrcFlapjack
how can you also map <Ctrl> + left-mouse click to use behavior(2) instead of behavior(1)? Could I simply map tag to tjump?Valenciavalenciennes
nnoremap <c-leftmouse> g<c-]>. However I recommend using keyboard as it is the vim way.Ordinary
I have trouble seeing how behavior(1) is useful in all but very rare occasions, in which case it's better to just press 1<enter> rather than struggle to remember to prefix the command with g. Hence, unless someone convinces me otherwise, I won't bother with [nv]noremove g<c-]> <c-]> in my configBraxton

© 2022 - 2024 — McMap. All rights reserved.