2012-05-19 43 views
1

它似乎是一个愚蠢的问题,但它必须提出。searchpair()总是返回0

我刚才尝试用vim的功能和整个“和searchpair”来了。所以我开始利用它。

上,我使用的函数看起来像这样的缓冲液:

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

而且我定位光标在第一行。之后,我改变为实施例模式的执行的命令

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

即把0在屏幕上。

显然searchpair没有找到对我的缓冲支架,所以我的观点和缓冲进一步发挥。尽管如此,它总是返回0。

学习:h searchpair()帮助我既不。

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

PS:我用

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

回答

2

你忘了逃脱你[]

这个版本:

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

的作品,但只有当光标在要匹配的字符就被执行。

数返回是在其上找到匹配的行的数量。

此外,:不把你变成“Ex模式”,它让您进入“命令行”模式。

+0

非常感谢!但对我来说,似乎很奇怪,单个方括号不需要在'search()'中进行转义,而是在'searchpair()'中进行转义。当然,我进入'命令行'模式而不是'ex-mode'。最好的祝福 – user1146332