Skip to content

inside/vim-grep-operator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The vim grep operator

Description

The vim grep operator plugin, inspired by Steve Losh and his book: http://learnvimscriptthehardway.stevelosh.com/

This plugin's has 2 goals:

  • bring motion and visual selection to the :grep command
  • open the quickfix window on the fly for easy file match navigation

<leader>g{motion} or <leader>g on a visual selection will produce this output:

Grep on the current directory

<leader><leader>g{motion} or <leader><leader>g will prompt you for filenames and will produce this output:

Prompt for directories before greping

Installation

Use pathogen or a pathogen compatible plugin manager.

If you are using git for source code management, you should have your grepprg option set to something like this:

set grepprg=git\ grep\ -n\ $*

Suggested ~/.vimrc mappings

nmap <leader>g <Plug>GrepOperatorOnCurrentDirectory
vmap <leader>g <Plug>GrepOperatorOnCurrentDirectory
nmap <leader><leader>g <Plug>GrepOperatorWithFilenamePrompt
vmap <leader><leader>g <Plug>GrepOperatorWithFilenamePrompt

Choose your grep operator (default: grep)

let g:grep_operator = 'Ag'
let g:grep_operator = 'Ack'

Configuration

Setting the search register allows hlsearch to highlight that pattern. It also allows using the n, N motions (find next/previous pattern). Handling the hlsearch option is up to you.

let g:grep_operator_set_search_register = 1

Examples

<leader>giw will grep the current directory for the word under the cursor and open the quickfix window.
<leader>ga( will grep for what's inside the parenthesis including the parenthesis.
<leader>gi' will grep for what's inside the quotes.

Visually select some characters and type <leader>g. This will grep for the selected text.

You can also be prompted for files to grep by using the same motions or visual selection but with the <leader><leader>g mapping.

Useful readings

:h grepprg
:h quickfix
:h text-objects
http://learnvimscriptthehardway.stevelosh.com/ and specifically chapters 32, 33, 34

About

Bring motion and visual selection to the :grep command

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published