1

这似乎是一个愚蠢的问题,但它必须提出。

我刚刚尝试了 vim 的功能并遇到了“searchpair”。所以我开始使用它。

我使用该函数的缓冲区如下所示:

xyz
xyz
[
xyz
xyz
[
xyz
]
xyz
xyz
]
xyz
xyz

我将光标定位在第一行。之后我更改为 Ex-mode 并执行了命令

echo searchpair('[', '', ']')

放在0屏幕上。

显然searchpair没有在我的缓冲区中找到这对括号,所以我进一步使用了参数和缓冲区。然而它总是返回 0。

学习:h searchpair()对我也没有帮助。

也许你们中的某个专家可以帮助我获得一些智慧。

PS:我用

VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jul 12 2010 02:31:36)
4

1 回答 1

2

你忘了逃避你的[].

这个版本:

:echo searchpair('\[','','\]')

有效,但仅当光标位于要匹配的字符上时执行。

返回的数字是找到匹配项的行号。

此外,:不会让您进入“Ex 模式”,而是让您进入“命令行”模式。

于 2012-05-19T15:31:25.630 回答