Skip to main content

Open those files that contain a string in Vim

Project description


Ken Kundert



Opens files that contains a given pattern in vim. You may specify a collection of files to search, otherwise all files in the current working directory and all sub directories are searched.

Within vim use n to move to next occurrence of pattern. Ctrl-n moves to next file and ctrl-p moves to the previous file. vim is run with autowrite set. Any directories, unreadable files, or binary files in the file list are ignored.

The pattern is a literal text string. Regular expressions are not supported.

Use – to terminate the command line options. Any thing that follows – is treated as the pattern. You can search for patterns that start with - by preceding the pattern with –.


fvi [options] [–] pattern [file … ]


-i, --ignore-case

ignore case

-w, --word

match a word

-o, --only <glob>

a glob string used to specify desired files, can use brace expansion to specify multiple globs

-e, --exclude <glob>

a glob string used to filter out unwanted files, can use brace expansion to specify multiple globs

-H, --hidden

include hidden files

-b, --binary

do not skip binary files (any not encoded in ascii or utf-8)

-g, --gvim

open files in gvim rather than vim

-v, --vim

open files in vim rather than gvim

-W, --warn

do not suppress warnings about directories and binary files

-h, --help

show help message and exit

If both --only and --exclude are specified, both must be satisfied.


Search specified files:

fvi ‘#!/usr/bin/env python3’ ~/bin/*

Search all files in current hierarchy:

fvi ‘unknown key’


Runs only on Unix systems. Requires Python 3.6 or later.

Install using:

pip install fvi


The file ~/.config/fvi/settings.nt is read if it exists. This is a NestedText file that can contain settings: vim, gvim, and gui. The first specify the commands used to invoke vim and gvim. The last is a Boolean that indicates whether gvim is used by default (use yes or no). For example:

vim: vimx
gvim: gvim
gui: yes

In this example, vimx is used rather than vim so that copy and paste using X11 works as expected.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fvi-2.2.tar.gz (5.0 kB view hashes)

Uploaded source

Built Distribution

fvi-2.2-py3-none-any.whl (5.9 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page