gpt4 book ai didi

vim - 我的 vimgrep 搜索没有像我预期的那样运行

转载 作者:行者123 更新时间:2023-12-02 07:51:14 24 4
gpt4 key购买 nike

我正在执行以下 vimgrep 搜索(在 vim(!) 中)...

:vimgrep /^\s*bool\s\+\i\+\s*=\s*\(false\)\|\(true\);\s*$/      *[files....]*

为了在我的代码中找到 bool 变量初始化。它成功返回所有 bool 初始化,例如

bool result1 = false;

bool result2=true;

但它也返回分配了 bool 值(未初始化)的其他行,例如

result = true;

(即,即使在行的开头找不到 bool,它也会返回行)。

如果有人能告诉我为什么它匹配行首没有“bool”类型说明符的代码,我将不胜感激。

非常感谢,

史蒂夫。

最佳答案

:vimgrep /^\s*bool\s+\i+\s*=\s*(false)\|(true);\s*$/ [files....]
^ ^^^^ ^

你有一些问题,都被标记为:

  1. Vim 使用 \(...\) 来对原子进行分组,而不是 (...) 看起来就是这样解析器问题(\( 未包含在反义词中会产生 ()。
  2. 您应该在括号内包含 \|:\(false\|true\),否则它将作为 «find either a lines where boolean variable is initialized作为 false(^\s*bool\s+\i+\s*=\s*\(false\) 部分)或包含 true 后跟分号的行在行尾 (\(true\);\s*$ 部分)».

关于vim - 我的 vimgrep 搜索没有像我预期的那样运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3678477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com