This is a ctrlp.vim extension and it picks out function definition from the current file without ctags. It just searches function definitions or equivalent lines using regular expressions, therefore some languages' abstraction aren't accurate because of hard to parse.
One of the advantages of this plugin is you needn't to generate tags file to jump to something definition line.
This supports following filetypes:
- c/c++
- chef
- go
- java
- javascript
- lua
- markdown
- nerdtree
- objc
- perl
- php
- python
- ruby
- sh (bash, dash and zsh)
- yaml
- vb
- vim
First of all, I believe you're a user of a great Vim plugin called ctrlp.vim. Otherwise, you need to install it before start installing this plugin.
If you use Vundle you can install this plugin using following Vim command:
:BundleInstall tacahiroy/ctrlp-funky
In addition, don't forget put a line Bundle 'tacahiroy/ctrlp-funky'
into your .vimrc.
If you use pathogen.vim, you just execute following to install the plugin:
cd ~/.vim/bundle
git clone git://github.com/tacahiroy/ctrlp-funky.git
You don't use either plugin management systems, copy autoload and plugin directory to your .vim directory.
By default:
- *nix: $HOME/.vim
- Windows: $HOME/vimfiles
You need to make the plugin available as a ctrlp.vim extension. Please add funky to a variable g:ctrlp_extensions
.
let g:ctrlp_extensions = ['funky']
Reboot Vim and then you can use :CtrlPFunky
command.
It might be useful mapping like these:
nnoremap <Leader>fu :CtrlPFunky<Cr>
" narrow the list down with a word under cursor
nnoremap <Leader>fU :execute 'CtrlPFunky ' . expand('<cword>')<Cr>
Copyright (C) 2012-2013 Takahiro Yoshihara. Distributed under the MIT License.