A simple script that provides mechanisms to quickly find and open files.
A major design goal was ease-of-installation; the script does not depend on vim being compiled with support for any "special" features. This comes at the price of not being able to (feasibly) add fancy things like approximate string matching (overrated anyway, right?) etc.
Install Vundle and add
Bundle 'strange/pyxis-vim' to your
plugin/pyxis.vim into corresponding
directories in your vim plugin directory.
:Pyxis opens an "input field". A list containing matching files will be
displayed as you start typing (assuming there are files in your cwd that match
what you've typed).
An in-memory cache will be populated during the first run. You can use
:PyxisUpdateCache to manually update the cache.
Something like the following in your .vimrc might be nice:
noremap <leader>e :Pyxis<CR> noremap <leader>E :PyxisUpdateCache<CR>
<Up> to navigate between entries in the
<CR> opens selected file in currently active window.
opens the file in horizontal and vertical splits, respectively.
the file in a new tab.
_ in quries work as matching delimiters. You can, for example, type
do/ to see all files located in
to match a file named
The script relies on
find to populate the cache at the moment, but I'm
evaluating an implementation that uses the built-in
globpath instead. The
native version is a little faster on small dir trees (a few ms), but a lot
slower on large trees (like the Linux kernel where it takes ~5 seconds to
complete on my machine, as opposed to less than 1 second using
Current state of the project: works for me and I prefer it over other solutions.
The script stores a list of all files in cwd in an in-memory cache. You currently update the cache manually when you remove or add files. I might fix this some day.