Regex 匹配vim中的模式,而不是行的开头

Regex 匹配vim中的模式,而不是行的开头,regex,vim,Regex,Vim,我试图在vim中搜索一个模式,但为了缩进的目的,该模式不能位于行的开头,也就是行的第一个非空白字符 例如: 使用/Should,可以找到两种Should模式。 我试着使用类似于,not start of line,但它不起作用:/[^^^]*应该。我已经使用此命令实现了它:/\w.*Should,但它显然不理想。使用\zs在非空字符后加空格设置匹配的开始: /\S\s*\zsShould 使用\zs在非空字符后加空格后设置匹配的开始: /\S\s*\zsShould 使用正向查找,断言匹配之

我试图在vim中搜索一个模式,但为了缩进的目的,该模式不能位于行的开头,也就是行的第一个非空白字符

例如:

使用/Should,可以找到两种Should模式。 我试着使用类似于,not start of line,但它不起作用:/[^^^]*应该。我已经使用此命令实现了它:/\w.*Should,但它显然不理想。

使用\zs在非空字符后加空格设置匹配的开始:

/\S\s*\zsShould
使用\zs在非空字符后加空格后设置匹配的开始:

/\S\s*\zsShould

使用正向查找,断言匹配之前至少有一个非空格字符:

/\(\S.*\)\@<=Should

使用正向查找,断言匹配之前至少有一个非空格字符:

/\(\S.*\)\@<=Should

这在行首使用负匹配,这与OP的问题最为吻合:


/^@ 这在行首使用负匹配,这与OP的问题最为吻合:


/^@小尼特:积极的回头看将是作品,但它没有使用线的sart的概念,我将等待一点,看看是否有人想出一个答案。小尼特:积极的回头看将是作品,但它没有使用线的sart的概念,我会等一等,看看有没有人能给出答案。这是可行的,但它没有使用线的sart的概念,我会等一等,看看有没有人能给出答案。你是什么意思?它完全符合你说的你想要匹配的。行的开头是隐式的。你测试过了吗?如果它起作用,那么这是一个答案,就像你对比雷说的一样。您不能直接使用“^”,因为您需要的是第一个非缩进字符,而不是真正的行首。@user1416930此处不需要行的sart[sic]概念,它是隐式的。既不是\S也不是。可以匹配换行符。因此,该模式断言行的开头和单词Should之间必须有一个非空白。Birei的答案也是一样。虽然有效,但它没有使用线的sart的概念,我会等一等,看看是否有人能给出答案。你是什么意思?它完全符合你说的你想要匹配的。行的开头是隐式的。你测试过了吗?如果它起作用,那么这是一个答案,就像你对比雷说的一样。您不能直接使用“^”,因为您需要的是第一个非缩进字符,而不是真正的行首。@user1416930此处不需要行的sart[sic]概念,它是隐式的。既不是\S也不是。可以匹配换行符。因此,该模式断言行的开头和单词Should之间必须有一个非空白。比雷的答案也是如此。注:有一个。注:有一个。