我知道%
我可以跳到匹配的支架和支架,但如果我只想知道匹配的支架和支架的位置怎么办?有什么功能可以做到吗?像
int test(int a){return a}
我的光标位于}
之后的这一行的末尾,所以列是25,我想知道它的匹配括号({
)的位置,应该是16。
答案 0 :(得分:0)
您可以使用%
,然后记录cursorpos()
或line()
+ col()
。或者您可以使用searchpairpos()
,但不要忘记在评论上下文中指定忽略括号字符的规则。
e.g。
let s:skip_comments = 'synIDattr(synID(line("."), col("."), 0), "name") =~?'
\ . '"string\\|comment\\|doxygen"'
function! s:SearchBracket()
let flag = 'cnzW'
return searchpairpos('{', '', '}', flag, s:skip_comments)
endfunction