fuzzy-denite


Ⅰ. 插件描述

Only for archival - see raghur/fruzzy for something that actually works well

Ⅱ. 基本信息

创建日期:  2018-05-06
使用用户:  1
Github星:  1
插件作者:  Raghu

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin 'raghur/fuzzy-denite'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle 'raghur/fuzzy-denite'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug 'raghur/fuzzy-denite'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

在终端中运行以下命令:
cd ~/.vim/bundle
git clone https://github.com/raghur/fuzzy-denite

Ⅳ. 文档说明

== Fuzzy Denite

Go Fuzzy find server and denite.nvim custom matcher client.

=== Installation

Then in your .vimrc:

[source,vim]

Plug 'Shougo/denite.nvim'
Plug 'raghur/fuzzy-denite', {'do': ':FuzzyDeniteInstall'}

call denite#custom#source('_', 'matchers', ['matcher/gofuzzy'])

=== Why

I currently use nixprime/cpsm and while it's great, it's a pain to set up on
windows and Linux since the python extension has to be compiled separately.
This isn't a problem on Linux - but on Windows - :O :O.

I wanted to try my hand at writing something that works reasonably well and
is comparatively easy to set up.

=== How

A special purpose, stateful server on localhost that listens for connections and
responds with matches.

=== Speed

So you might be thinking that out of process, network api call vs C extension? So did I.
But, a few tweaks and I can't really tell the difference that much

. The list of things to be filtered is sent at best once. A hash is calculated on the client
and the list to be filtered is sent only if the server doesn't already have it.
. GRPC for comms - much faster than pickling or HTTP. It makes installation of the plugin a
little more involved since pip has to be run on installation but the it's worth the trouble
for the speed up and no lag experience
. I use NeoMRU a lot - it has a limit of 1000 entries. Turning this down to 100 makes is more
reasonable.

=== Goals

. Fast - no pause, no hiccups
. Relevant matching - esp filenames/paths - right now, this isn't great, but a lot easier to improve
. Easy installation - esp no pip dependencies on the python client.

=== TODOS

. Provide platform binaries so that users don't need GO SDK
. Fix first run 'pause'
. Explore using FZF's fuzzy matching code.

添加新评论