vim 正则表达式不需要 \ 来转义

vim 正则表达式不需要 \ 来转义



/sp\{0,\}/
在 Vim 中,是否有一个选项可以像 Awk 一样编写正则表达式,例如

/sp{0,}/

答案1

在模式前面加上\v将使模式变得“神奇”,并且像{和 这样的符号[具有解释的含义(并且需要转义文字)。

所以/\vsp{1,}会找到你想要的(我刚刚测试过)。

您可以通过在 vimrc 中使用以下行重新映射/来将其设置为默认值:/\v

nnoremap / /\v
vnoremap / /\v

:help pattern了解更多。

答案2

/sp\{0,}

当然,对于{0,},您最好使用*:/sp*会(与上面相同)找到一个 's' 后跟零个或多个 p。请注意,零个或多个总是是的,所以在这个特定的表达式中没有理由这样做。

答案3

Vim 没有模拟 awk 风格的正则表达式的选项,没有。正则表达式有很多方言,不幸的是,从一种工具转换到另一种工具时,总是存在这些小的方言差异需要跟踪。

相关内容