Regex 如何使Vim在正则表达式控制字符之前不需要反斜杠

Regex 如何使Vim在正则表达式控制字符之前不需要反斜杠,regex,vim,quoting,Regex,Vim,Quoting,Vim正则表达式中必须使用的斜杠数量非常非常不幸: :%s/\(\w\+\)\(.*\s\+\)\(\w\+\)$/\3\2\1/ 有没有办法改变规则,这样我就可以写作了 :%s/(\w+)(.*\s+)(\w+)$/\3\2\1/ 我只需要引用(,),,*,+,等等。如果我想让它们匹配那个文字字符?您所指的是“非常神奇”的模式(请参见:help magic) 您可以为带有\v标志的表达式打开它: :%s/\v(\w+)(.*\s+)(\w+)$/\3\2\1/ 默认情况下,这是不启用的,

Vim正则表达式中必须使用的斜杠数量非常非常不幸:

:%s/\(\w\+\)\(.*\s\+\)\(\w\+\)$/\3\2\1/
有没有办法改变规则,这样我就可以写作了

:%s/(\w+)(.*\s+)(\w+)$/\3\2\1/

我只需要引用
*
+
,等等。如果我想让它们匹配那个文字字符?

您所指的是“非常神奇”的模式(请参见
:help magic

您可以为带有
\v
标志的表达式打开它:

:%s/\v(\w+)(.*\s+)(\w+)$/\3\2\1/
默认情况下,这是不启用的,在默认情况下启用它不是一个好主意。但是,您可以始终以每个表达式的方式使用它

有两种不同的魔术模式,分别由
\v
\m
打开和由
\v
\m
关闭。就像通过
\c
\c
区分大小写一样,您可以使用这些标志仅使表达式变魔术


但是,如果在表达式开始时将其打开,并且不再关闭,则整个表达式将被视为魔术。

您所指的是“非常魔术”模式(请参见
:help magic

您可以为带有
\v
标志的表达式打开它:

:%s/\v(\w+)(.*\s+)(\w+)$/\3\2\1/
默认情况下,这是不启用的,在默认情况下启用它不是一个好主意。但是,您可以始终以每个表达式的方式使用它

有两种不同的魔术模式,分别由
\v
\m
打开和由
\v
\m
关闭。就像通过
\c
\c
区分大小写一样,您可以使用这些标志仅使表达式变魔术

但是,如果在表达式的开头将其打开,而不再将其关闭,则整个表达式将被视为魔法。

。请参见。另外,请参见等帖子。。请参见。另外,请参见等帖子。