Vim Regex列位置匹配

Aud*_*son 5 regex vim

我正在学习Vim模式,并且对列位置匹配定义感到困惑.下面我做非常简单的测试.只需创建一个文件,在第一行第一列类型:123456789.只需让我轻松跟踪每个数字所在的列号.然后我搜索/.\%>3c.*\%<8c,它匹配3456并且看似合理,因为文档解释\%<8c将匹配第7列并且它是零宽度匹配所以它将仅匹配6.但是然后我搜索/\%>3c.*\%<8c,这次Vim匹配4567.那么为什么这次它匹配7 ??? 这似乎不合理.我的Vim版本是最新版本:7.4包含的补丁:1-884.

Aud*_*son 0

我想我可能已经得到答案了。实际上有两个匹配,第一个匹配是456,第二个匹配是第7列的空字符串。当设置hlsearch时,它会突出显示4567,因为第二个匹配是第7列的空字符串匹配,以便使匹配引人注目,vim 也会突出显示该列中的字符。这是我的猜测,如有错误请指正。