mirror of
https://github.com/neovim/neovim.git
synced 2025-09-29 14:38:32 +00:00
feat(defaults): improve :grep defaults #28545
Based on feedback from #28324, pass -H and -I to regular grep (available on all platforms officially supported by Neovim), and only pass -uu to ripgrep. This makes :grep ignore binary files by default in both cases.
This commit is contained in:

committed by
GitHub

parent
83635e4e3d
commit
513fc46195
@@ -3382,7 +3382,7 @@ return {
|
||||
abbreviation = 'gp',
|
||||
defaults = {
|
||||
condition = 'MSWIN',
|
||||
if_false = 'grep -n $* /dev/null',
|
||||
if_false = 'grep -HIn $* /dev/null',
|
||||
if_true = 'findstr /n $* nul',
|
||||
doc = [[see below]],
|
||||
},
|
||||
@@ -3392,10 +3392,7 @@ return {
|
||||
line. The placeholder "$*" is allowed to specify where the arguments
|
||||
will be included. Environment variables are expanded |:set_env|. See
|
||||
|option-backslash| about including spaces and backslashes.
|
||||
When your "grep" accepts the "-H" argument, use this to make ":grep"
|
||||
also work well with a single file: >vim
|
||||
set grepprg=grep\ -nH
|
||||
< Special value: When 'grepprg' is set to "internal" the |:grep| command
|
||||
Special value: When 'grepprg' is set to "internal" the |:grep| command
|
||||
works like |:vimgrep|, |:lgrep| like |:lvimgrep|, |:grepadd| like
|
||||
|:vimgrepadd| and |:lgrepadd| like |:lvimgrepadd|.
|
||||
See also the section |:make_makeprg|, since most of the comments there
|
||||
@@ -3403,11 +3400,11 @@ return {
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
This option defaults to:
|
||||
- `rg --vimgrep -uuu $* ...` if ripgrep is available (|:checkhealth|),
|
||||
- `grep -n $* /dev/null` on Unix,
|
||||
- `rg --vimgrep -uu ` if ripgrep is available (|:checkhealth|),
|
||||
- `grep -HIn $* /dev/null` on Unix,
|
||||
- `findstr /n $* nul` on Windows.
|
||||
Ripgrep can perform additional filtering such as using .gitignore rules
|
||||
and skipping hidden or binary files. This is disabled by default (see the -u option)
|
||||
and skipping hidden files. This is disabled by default (see the -u option)
|
||||
to more closely match the behaviour of standard grep.
|
||||
You can make ripgrep match Vim's case handling using the
|
||||
-i/--ignore-case and -S/--smart-case options.
|
||||
|
Reference in New Issue
Block a user