vim 匹配正则表达式中的标记
vim match a mark in regexp
在 gvim (v8) 正则表达式中,我们可以用 \%V, e.g. s/\%Vabc/xyz/
在 selected 区域中指定一个点。但是,\%V
匹配 selection 中的任何位置,我希望仅在视觉 selection 的开头或结尾匹配某些内容(标记 <,
>)。
此外,此正则表达式 /\%V\_.*\%V/
并非 select 区域的最终字符。 \%V
应该是零宽度?
那么如何指定标记的位置,如:
:s/\mark(
<).\zs(abc)\ze\mark.(>)/xyz/`
是的,\%V
是零宽度;要包含最后选择的字符,您需要附加一个 .
以包含最后一个字符:/\%V\_.*\%V./
标记位置有特殊原子;您也可以将它们与 '<,'>
标记一起使用:/\%'<.*\%'>./
。由于它们也是零宽度的,因此上述内容也适用于此,因此它不是更好的选择。
在 gvim (v8) 正则表达式中,我们可以用 \%V, e.g. s/\%Vabc/xyz/
在 selected 区域中指定一个点。但是,\%V
匹配 selection 中的任何位置,我希望仅在视觉 selection 的开头或结尾匹配某些内容(标记 <,
>)。
此外,此正则表达式 /\%V\_.*\%V/
并非 select 区域的最终字符。 \%V
应该是零宽度?
那么如何指定标记的位置,如:
:s/\mark(
<).\zs(abc)\ze\mark.(>)/xyz/`
是的,\%V
是零宽度;要包含最后选择的字符,您需要附加一个 .
以包含最后一个字符:/\%V\_.*\%V./
标记位置有特殊原子;您也可以将它们与 '<,'>
标记一起使用:/\%'<.*\%'>./
。由于它们也是零宽度的,因此上述内容也适用于此,因此它不是更好的选择。