如何使用带Vim ag的正则表达式(银色搜索)

wej*_*ski 4 vim

我正在使用带有ag.vim插件的Silver Search.有谁知道如何使用正则表达式与:ag命令进行搜索?

eug*_*enk 5

aghttps://github.com/rking/ag.vim#gotchas中所述,Ag.vim需要一些额外的转义(在所需的基础上),因为vim .

例如,如果您有正则表达式,则需要在Ag.vim中键入,如下所示:

  • \. 在Ag.vim \\.
  • \(\(在Ag.vim
  • [并且]在Ag.vim \[\]
  • \s变成\\\s了Ag.vim
  • |(选项分隔符,例如(a|b|c)在Ag.vim中\|
  • \.\s+async[^h] 在Ag.vim \\.\\\s\+async\[^h\]

所以要搜索\.\s+async[^h],你输入:Ag \\.\\\s\+async\[^h\].这有点反臃肿,但目前我知道获得结果的唯一方法.

我希望能让你了解如何逃避你的正则表达式.对我来说,这需要一些逃避的实验.


rom*_*inl 1

ag使用与以下相同的语法grep

$ ag .epart.    finds 'departure' and 'departed'
$ ag ^The       finds all lines starting with 'The'
$ ag s{2}       finds 'Odessa'
Run Code Online (Sandbox Code Playgroud)

我不熟悉该ag.vim插件,但我想类似以下内容应该找到所有以 结尾的行Oz

:Ag Oz$
Run Code Online (Sandbox Code Playgroud)

请参阅$man grep详细的语法细节。