Skip to content
This repository has been archived by the owner on Sep 27, 2023. It is now read-only.

ratfactor/zf.vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

zf.vim

MOVED! Hello, I am moving my repos to http://ratfactor.com/repos/ and setting them to read-only ("archived") on GitHub. Thank you, -Dave

A Vim plugin for the zf fuzzy finder: https://github.com/natecraddock/zf

Note: This currently doesn’t work with NeoVim. I’d be delighted if an nvim user could help discover why (or add nvim term support)!

Features / Usage

There is currently one high-level function, ZfSelectFile(), which uses the external find command to let you fuzzy find from a list of all files in the current working directory (and any subdirectories).

Example mapping to put in your .vimrc:

nnoremap <leader>ff :call ZfSelectFile()<CR>

(Coming Soon: Another high-level function for selecting from current Vim buffers.)

There are two lower-level functions to invoke zf with your choice of:

  • Piped output from an external command

  • A Vim list of strings

Pipe example:

:call ZfWithPipe('cat bowie-albums.txt')
> ma
The Man Who Sold the World
The Rise and Fall of Ziggy Stardust and the Spiders from Mars
Young Americans
Scary Monsters (and Super Creeps)

String list example:

:call ZfWithLines(['foo', 'bar', 'baz'])
>
foo
bar
baz

After calling either of these methods, your selection will be in g:zf_selection[0].

If nothing was selected, the list will be empty.

Note that this is a list so we’re future-proof for any possible multiple-selection support at some point.

Install

This repo is in the standard Vim plugin structure. Any plugin installation method (incuding popular plugin managers) should work. If you have additional installation instructions to add here, PRs are always welcome!

Vundle example (because that’s what the author uses).

Plugin 'ratfactor/zf.vim'

(Then run :source % and :BundleInstall to complete the Vundle installation.)

Configuration

Here’s the current configuration settings and their defaults. Override any of these in your .vimrc as desired.

let g:zf_exec       = 'zf'
let g:zf_lines      = 20
let g:zf_list_files = 'find . -type f'

TODO: Help doesn’t exist yet! But when it does, see :help zf.vim for complete documentation and specifically :help zf.vim-configuration for all settings.

Contributing

Yes, please! This has only been tested with Vim running in a terminal under Linux.

Please note that I’d like to keep support for older versions of Vim. This has been tested with Vim 7.4.

Thanks!

Thanks to Nathan Craddock for making zf.

Thanks to Junegunn Choi for the Vim plugin(s) for FZF, which were very direct inspiration for this plugin, especially terminal redirection and the use of temporary files (and listing buffers, when I add that).

About

A Vim plugin for the zf fuzzy finder.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published