Vim Tips Wiki

Jump to a function from where it is called

1,624pages on
this wiki
Add New Page
Talk0 Share
Tip 383 Printable Monobook Previous Next

created 2002 · complexity basic · author zzapper · version 6.0

When writing/debugging code you often want to jump from where a subroutine/function is called to where it actually is . Hitting the "*" key is frustrating if the sub/func is called many times. The following mapping solves the problem. (Notice how it can be altered for other languages)

nmap gx yiw/^\(sub\<Bar>function\)\s\+<C-R>"<CR>

Instructions: Place cursor over called function (normal mode) and type gx

How it worksEdit

Yank inner work to un-named register
search for sub or function followed by 1 or more spaces
Retrieve un-named register
Start Search

Information also included in VimTip305.



What language is this supposed to work in? Basic??

Probably perl, which also uses sub for functions

I suggest to modify mapping: nmap gx mryiw/^\(sub\<Bar>function\)\s\+<C-R>"<CR>

thus allowing reverse jump by typing `r

I think this would be much better accomplished using Vim's excellent Ctags interface. :help ctags. Exuberant Ctags has support for Perl. --Fritzophrenic 20:03, 18 February 2009 (UTC)

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Also on Fandom

Random Wiki