A simple function navigator for ctrlp.vim
Clone or download
tacahiroy Merge pull request #118 from haifengkao/master
Add support for objc lightweight generic
Latest commit 1802f66 Jul 28, 2018
Failed to load latest commit information.
autoload/ctrlp add support for objc lightweight generic Jul 26, 2018
doc Add doc for #113 and #114 May 2, 2018
plugin Disable deep mode for now Nov 17, 2015
test Add doc for #113 and #114 May 2, 2018
.gitignore Add tags Aug 10, 2016
LICENSE Add LICENSE file Dec 29, 2017
README.md Update README Aug 21, 2017



A super simple function navigator for ctrlp.vim.
For lazy people who cannot wait until ctags finishes.


This is a ctrlp.vim extension. It simply navigates and jumps to function definitions from the current file without ctags. It just searches for function definitions or equivalent lines using regular expressions, therefore some languages' abstractions aren't accurate because of them being hard to parse.

One of advantages of this plugin is that no configuration is required in most cases, so it starts working right after installation with no ctags required. If you want to have a more accurate list of function defs, you should use other ctags-based tools, etc.


Supported filetypes:

See ctrlp-funky.txt


First of all, I believe you're a user of a great Vim plugin called ctrlp.vim. Otherwise, you need to install ctrlp.vim before you start using this plugin.


Plugin managers

It is recommended to install the plugin using plugin managers such as vim-plug, pathogen, Vundle, Dein.vim etc. You can copy/paste a line below if you use vim-plug: Plug 'tacahiroy/ctrlp-funky'

Manual installation

If you use neither of the plugin management systems, copy autoload and plugin directories to .vim directory. On Windows, basically, vimfiles directory is used instead of .vim directory.


It should be useful to define key mappings like this:

nnoremap <Leader>fu :CtrlPFunky<Cr>
" narrow the list down with a word under cursor
nnoremap <Leader>fU :execute 'CtrlPFunky ' . expand('<cword>')<Cr>



If you want to have this highlight feature, you may configure like this:

let g:ctrlp_funky_matchtype = 'path'

See :h g:ctrlp_funky_matchtype for more details and notes.



I'd like to introduce one of ctrlp-funky options. Do you want to make ctrlp-funky funkier? Okay - you can do it with just 1 line of config:

let g:ctrlp_funky_syntax_highlight = 1


Note that this feature doesn't work perfectly, because ctrlp-funky just sets filetype to the funky buffer and the buffer contains '>' in the first column. In some filetypes, this sign has special meaning such as HTML tag, so it breaks syntax highlighting.



Copyright (C) 2012-2017 Takahiro Yoshihara. Distributed under the MIT License.