6

当我将光标放在 vim 中的括号上时:

f = (\x y -> x+y)
    ^

键入%会将光标移动到匹配的括号:

f = (\x y -> x+y)
                ^

键入%d将删除括号和其中的所有内容

f = 
   ^

但是当我有嵌套括号时:

g = (\(x,y) -> x+y)
    ^

键入%使其跳转到右内括号而不是匹配的内括号:

g = (\(x,y) -> x+y)
          ^

%d具有相同的不匹配行为:

g = (\(x,y) -> x+y)
    ^

变成

g =  -> x+y) 
    ^

为什么?我怎样才能使它正确匹配?


奇怪的是,匹配括号的视觉突出显示确实有效:

一个 b C d e F

这是如何工作的,但匹配 by%没有?有两个大脑吗?

4

1 回答 1

12

简短的回答,来自:help %

:set cpoptions+=M

这可以防止 vim 忽略\(组合并将其视为(.

(长答案可能涉及使用类似的插件来匹配它,我不知道,它向 vim 解释这\意味着 lambda,而不是反斜杠。)

于 2013-10-05T19:58:21.610 回答