forked from natduca/quickopen
-
Notifications
You must be signed in to change notification settings - Fork 0
Instantly open files in Vim and Emacs within 250k-file projects with fuzziness
License
quisquous/quickopen
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Open files in Vim or Emacs quickly with fuzzy expressions and a live-updating UI, even for directory-trees containing hundreds of thousands of files. Fuzzy? When you enter "rwh", quickopen searches for things like RenderWidgetHost render-widget-host threaded_window_handler The results are ranked by relevance. All in 30ms. So you can refine as you type. Compared To? =========================================================================== FuzzyFilter for Vim/FuzzyMatch for Emacs +: Fast!!!!!!!! +: Index maintained in-memory, but outside editor process +: Reasonablly pretty GUI (even via ssh) +: Same backend shared between emacs and vim -: Doens't help when switching buffers git ls-files +: Search that Spans multiple projects, repositories, repository types +: Faster -: Doesn't support full regular expression matching goodness Dependencies ================================================================================ Linux: python-gtk2 OSX: http:https://www.wxpython.org/download.php#stable wxPython 2.8-osx-unicode-2.6 Experimental: ./quickopen --curses VIM Bindings ================================================================================ 0. Use pathogen, if you're not using it already: http:https://github.com/tpope/vim-pathogen 1a. Either of the following, depending on how your .vim is set up: git submodule add https://github.com/natduca/quickopen ~/.vim/bundle/quickopen git clone https://github.com/natduca/quickopen.git ~/.vim/bundle/ If you do things manually, the file you want vim to source is quickopen/plugin/quickopen.vim Emacs Bindings ================================================================================ Assuming you have ~/.emacs.d/site-lisp/, one of the following should work: git submodule add https://github.com/natduca/quickopen ~/.emacs/site-lisp git clone https://github.com/natduca/quickopen.git ~/.emacs/site-lisp If you do things manually, the file you want emacs to find is quickopen/elisp/quickopen.el This usually does the trick: (let ((site-lisp-dir (expand-file-name "~/.emacs/site-lisp"))) (when (file-exists-p site-lisp-dir) (let ((default-directory site-lisp-dir)) (normal-top-level-add-to-load-path '(".")) (normal-top-level-add-subdirs-to-load-path)))) Post-install configuration ================================================================================ 0. Start quickopend nduca: ~/quickopen $ ./quickopend& Starting quickopen daemon on port 10248 1. Tell quickopen to index some directories... nduca: ~/quickopen $ ./quickopen add ~/chromium nduca: ~/quickopen $ ./quickopen add ~/quickopen nduca: ~/quickopen $ ./quickopen ignore \*LayoutTests\* 2. Check quickopen's status: nduca: ~/quickopen $ ./quickopen rawsearch foo Database is not fully indexed. Wait a bit or try quickopen status nduca: ~/quickopen $ ./quickopen status Syncing: 17802 files found, 116 dirs pending nduca: ~/quickopen $ ./quickopen status up-to-date: 158553 files indexed; 2-threaded searches Usage ================================================================================ 1. VIM: C-O (ctrl-shift-o) Emacs: M-S-o (meta-shift-o) 2. Command line nduca: ~/quickopen $ ./quickopen <brings up a GUI for a picking a file, prints file picked to stdout once done> 3. Command line, raw mode: nduca: ~/quickopen $ ./quickopen rawsearch render_widgethvw ~/chrome/src/content/browser/renderer_host/render_widget_host_view.h ~/chrome/src/chrome/browser/renderer_host/render_widget_host_view_gtk.h ~/chrome/src/chrome/browser/renderer_host/render_widget_host_view_views.h ~/chrome/src/chrome/browser/renderer_host/render_widget_host_view_win.h ~/chrome/src/chrome/browser/renderer_host/render_widget_host_view_mac.h
About
Instantly open files in Vim and Emacs within 250k-file projects with fuzziness
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Python 97.2%
- Emacs Lisp 2.1%
- Other 0.7%