neovim-fuzzy
Fuzzy file finding for neovim, via fzy1.
. Rationale
To my knowledge, fzy delivers the best results out of all fuzzy finders, including fzf, ctrl-p, command-t and unite. This is due to the advanced scoring algorithm2.
. Requirements
. Installation
Install fzy
via your package manager, or check https://github.com/jhawthorn/fzy
for instructions.
If you're using vim-plug, add this to your vimrc:
Plug 'cloudhead/neovim-fuzzy'
You can also copy the contents of this directory into your .vim folder.
. Usage
Add something like this to your vimrc:
nnoremap <C-p> :FuzzyOpen<CR>
Then hit
Once in the fzy finder:
<Esc> close fzy pane
<Enter> open selected file with default open command
<Ctrl-S> open selected file in new horizontal split
<Ctrl-V> open selected file in new vertical split
<Ctrl-T> open selected file in new tab
<Ctrl-N> next entry
<Ctrl-P> previous entry
See the fzy documentation for the full list of key bindings.
neovim-fuzzy-specific keybindings can be disabled with:
let g:fuzzy_bindkeys = 0
Set your own keybindings for opening files in splits with:
autocmd FileType fuzzy tnoremap <silent> <buffer> <C-T> <C-\><C-n>:FuzzyOpenFileInTab<CR>
autocmd FileType fuzzy tnoremap <silent> <buffer> <C-S> <C-\><C-n>:FuzzyOpenFileInSplit<CR>
autocmd FileType fuzzy tnoremap <silent> <buffer> <C-V> <C-\><C-n>:FuzzyOpenFileInVSplit<CR>
When no input is given, fuzzy shows the alternate buffer (also known as '#'), followed by other open buffers, followed by all other files.
Fuzzy also lets you search within files, via the :FuzzyGrep command. You can use it on its own, or pass it an expression to search.