Use your favorite grep tool (ag, ack, git grep, ripgrep, pt, sift, findstr, grep) to start an asynchronous search. Matches will be added to the quickfix list as they are found.
This plugin works with Vim and Neovim. It's based on vim-grepper, but used asyncrun.vim to execute the grepper commands, and append the results asynchronously to the quickfix list.
Disclaimer: using the location list, appending to an existing quickfix list and stopping search after a certain number of results have been returned are currently unsupported. PR's welcome.
- Prompt: Use
:Grepper
to open a prompt, enter your query, optionally cycle through the list of tools, fire up the search. - Operator: Use the current visual selection to pre-fill the prompt or start searching right away.
- Commands:
:Grepper
supports a wide range of flags which makes it extremely flexible. All supported tools come with their own command for convenience::GrepperGit
,:GrepperAg
, and so on. They're all built atop of:Grepper
. - Custom tools: Changing the behaviour of the default tools is very easy. And so is adding new tools.
If you like vim-grepper, you will love async-grepper.
This README is only the tip of the iceberg. Make sure to read :h grepper
and
the wiki to learn about every
feature.
Example configurations be be found here.
The truth is out there.
Use your favorite plugin manager, e.g. vim-plug:
Plug 'skywind3000/asyncrun.vim'
Plug 'paretje/asyc-grepper'
If you prefer lazy loading:
Plug 'skywind3000/asyncrun.vim', { 'on': 'AsyncRun' }
Plug 'mhinz/vim-grepper', { 'on': ['Grepper', '<plug>(GrepperOperator)'] }
General usage:
Grepping only files currently loaded in Vim:
If you like this plugin, star it! It's a great way of getting feedback. The same goes for reporting issues or feature requests.