Vim Tips Wiki


1,613pages on
this wiki

Use this page to discuss script 3681 functiontracker: easy navigation between functions in a long file

  • Add constructive comments, bug reports, or discuss improvements (see the guideline).
  • Do not document the script here (the author should do that on
  • This page may be out of date: check the script's page above, and its release notes.


Last version from 2012-01-07 has a bug, that detects function named 's' in this line: functions(). Please change line 304

" from:
let l:matched = matchlist(l:line,'\s*function\s*[*&]*\([a-zA-Z0-9_]*\)\s*(')
" to:
let l:matched = matchlist(l:line,'\s*function\s\+[*&]*\([a-zA-Z0-9_]*\)\s*(')

Great script. I extended your regex to support perl scripts as well by changing line 188:

" from:
let l:matched = matchlist(l:line,'\s*function\s\+[*&]*\([a-zA-Z0-9_]*\)\s*(')
" to:
let l:matched = matchlist(l:line,'\s*\%(function\|sub\)\s\+[*&]*\([a-zA-Z0-9_]*\)\s*[({]')

tx for your original work

Spectacular script. Seems to kill my 'o' functionality in vim 7.3. It messed up the autoindent. Looked like it was something in oninsertchange. Worked around by returning immediately from oninsertchange.

Another line 188 for C files

" to:
let l:matched = matchlist(l:line,'\s*\w\+\s\+\(\w\+\)\s*[*]\?\s*([a-zA-Z0-9_, *]*)\s*{')

Around Wikia's network

Random Wiki