Combines grep/ack with vim to quickly find and edit files that contain a pattern
Given a pattern and a list of files, fvi first runs grep on the given files to find which contain the pattern, and then opens only those files in vim. Within vim use n to move to next occurrence of pattern and Ctrl-n to move to next file. vim is run with autowrite set. Any directories, unreadable files, or binary files in the file list are ignored.
If no file list is given on the command line, fvi then uses ack rather than grep to find which files contain the pattern. Generally ack will look at all regular files in the current working directory and all subdirectories, however this can be controlled using .ackrc files.
fvi [options] pattern [file [ file … ]]
|-h, --help||Show this help message and exit.|
|-w, --word||Match a word.|
|-m, --magic||Treat pattern as a vim magic or grep basic regular expression.|
|Treat pattern as a vim very magic or grep extended regular expression.|
|-g, --gvim||Open files in gvim.|
Runs only on Unix systems. Requires Python 3.5 or later. It also requires Python’s docutils. Also uses ack if available. Install using:
pip install fvi
Installs both the program an its manpage. Once installed, you can get more information using:
You can use the VIM, GVIM, GREP, and ACK environment variables to control which versions of these programs should be used. By default, VIM=vim, GVIM=gvim, GREP=grep, and ACK=ack. For example, if you wish to replace ack with The Silver Searcher, add the following to your .bashrc file:
On Ubuntu, ack is installed with a non-standard name, so you will want to put:
into your ~/.bashrc file.
If you wish to use the Silver Searcher to replace ack, use:: . You will need to modify the fvi file and replace ack with ack-grep to address this issue.