Fast vim CtrlP matcher based on python
Branch: master
Clone or download
FelikZ Merge pull request #42 from ptzz/master
Fix incorrect behaviour for `ctrlp_match_current_file`
Latest commit cf63fd5 Nov 1, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
autoload Fix incorrect behaviour for `ctrlp_match_current_file` Oct 29, 2017
doc Version 1.0c Sep 19, 2014
LICENSE Update copyrights :) Dec 22, 2015
README.md Add installation instructions to README.md Jul 17, 2015

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