Fast vim CtrlP matcher based on python
Python Vim script
Switch branches/tags
Latest commit a0710a4 Jan 5, 2017 @FelikZ committed on GitHub Merge pull request #33 from gerryqd/master
Adapt the escape 'dict' code to support python 2.6

README.md

ctrlp-py-matcher

Fast CtrlP matcher based on python

Performance difference is up to x22, look at this perf:

Default matcher:

FUNCTIONS SORTED ON SELF TIME
count  total (s)   self (s)  function
    3  17.768008  17.610161  <SNR>102_MatchIt()

With Py Matcher:

FUNCTIONS SORTED ON SELF TIME
count  total (s)   self (s)  function
    3              0.730215  pymatcher#PyMatch()

To achive such results try to do long (5-10+ sym) text queries on a large amount of files (1kk+).

To install this plugin you need Vim compiled with +python flag:

vim --version | grep python

This plugin should be compatible with vim 7.x and NeoVIM as well.

If you still have performance issues, it can be caused by bufferline or alike plugins. So if, for example, it caused by bufferline you can switch to airline and setup this option:

let g:airline#extensions#tabline#enabled = 1

Installation

Pathogen (https://github.com/tpope/vim-pathogen)

git clone https://github.com/FelikZ/ctrlp-py-matcher ~/.vim/bundle/ctrlp-py-matcher

Vundle (https://github.com/gmarik/vundle)

Plugin 'FelikZ/ctrlp-py-matcher'

NeoBundle (https://github.com/Shougo/neobundle.vim)

NeoBundle 'FelikZ/ctrlp-py-matcher'

~/.vimrc setup

let g:ctrlp_match_func = { 'match': 'pymatcher#PyMatch' }

Full documentation is available here

githalytics.com alpha