我正在学习 Vim 模式,并且对列位置匹配的定义感到非常困惑。下面我进行了一个非常简单的测试。
只需创建一个文件,在第一行第一列中输入:
123456789
,以便我轻松跟踪每个数字所在的列号。
然后我搜索 /.\%>3c.*\%<8c
,它匹配了3456
,看起来很合理,因为文档解释说 \%<8c
将匹配第7列,它的零宽度匹配,因此它只匹配到6。
但是当我搜索 /\%>3c.*\%<8c
时,这次 Vim 匹配了 4567
。这次为什么它匹配到了第7列???似乎不合理。
我的 Vim 版本已经是最新:7.4,包含补丁:1-884。
incsearch
只会突出显示456
,但结果的hlsearch
是4567
(7.4 补丁 1-258)。如果没有人找出问题,可能值得提交错误报告。 - Amadan