Eclim provides the :LocateFile command to allow you to quickly find and open files or buffers.
:LocateFile [file_pattern] - Attempts to locate the supplied file pattern or if no argument is supplied, opens a temporary window where the text you type is turned into a pattern and search results are presented as you type.
By default, the search string accepted by the completion mode is intended to be just portions of the file name you are looking for, which is then automatically expanded in an effort to help you find the file with the fewest keystrokes possible.
The argument version of :LocateFile on the other hand, accepts a hybrid glob/regex pattern. The glob portion allows you to use * and ** to match portions of a path or traverse multiple directories. You can mix * and ** with standard perl compatible regex operators to construct your search pattern.
If you prefer the more explicit patterns supported by the argument version of :LocateFile over the default “fuzzy” pattern supported by the completion version of :LocateFile, then you can turn off the fuzzy matching support using the g:EclimLocateFileFuzzy variable described below.
By default, all searching by both variants of this command is limited to the current project and any projects listed as dependencies, but you can widen the search scope to include all open projects by setting g:EclimLocateFileScope to ‘workspace’, which is the default scope when :LocateFile is executed outside of a project.
In addition to the ‘project’ and ‘workspace’ scopes, :LocateFile also supports the following scopes:
Note
For performance reasons, locating files in the ‘project’ and ‘workspace’ scopes depends on eclipse being aware of all your project files. For the most part this is handled automatically as you create and edit files within vim. However, actions you take outside of vim or eclipse (moving/removing files, updates from a version control system, etc.) will not be visible until you force a project refresh via :ProjectRefresh.
Note
If you would like to use :LocateFile even when eclimd is not running or for projects not known to eclim, one option would be to install the silver searcher, then install my ag plugin, and configure eclim to use the plugin as the fallback default:
let g:EclimLocateFileNonProjectScope = 'ag'
Configuration
Note
Search Filters: eclim does not yet expose the ability to add filters should you want to ignore certain directories, but you can configure this ability from within Eclipse: