/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 风格的正则表达式的选项,没有。正则表达式有很多方言,不幸的是,从一种工具转换到另一种工具时,总是存在这些小的方言差异需要跟踪。