An open API service indexing awesome lists of open source software.

https://github.com/kenkundert/fvi

Vim paired with grep
https://github.com/kenkundert/fvi

vim

Last synced: 9 months ago
JSON representation

Vim paired with grep

Awesome Lists containing this project

README

          

FVI — Vim paired with Grep
==========================

:Author: Ken Kundert
:Version: 2.2.1
:Released: 2023-11-08

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 --.

Arguments
---------

``fvi`` [options] [--] *pattern* [*file* ... ]

Options
-------

-i, --ignore-case ignore case
-w, --word match a word
-o, --only a glob string used to specify desired files,
can use brace expansion to specify multiple globs
-e, --exclude 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.

Examples
--------

Search specified files:

fvi '#\!/usr/bin/env python3' ~/bin/*

Search all files in current hierarchy:

fvi 'unknown key'

Installation
------------

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

Install using::

pip install fvi

Configuration
-------------

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.

.. _NestedText: https://nestedtext.org