Fandom

Vim Tips Wiki

Jump to a function from where it is called

Redirected from VimTip383

1,624pages on
this wiki
Add New Page
Talk0 Share

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.

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

yiw 
Yank inner work to un-named register
/^\(sub\<Bar>function\)\s\+ 
search for sub or function followed by 1 or more spaces
<C-R>" 
Retrieve un-named register
<CR> 
Start Search

Information also included in VimTip305.

ReferencesEdit

CommentsEdit

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)

Also on Fandom

Random Wiki