当我把光标放在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)
^
为什么呢?如何使其正确匹配?
奇怪的是,匹配括号的视觉突出显示确实有效:
这是如何工作的,但%
的匹配却没有?有两个大脑吗?
答案 0 :(得分:11)
简短回答,来自:help %
:
:set cpoptions+=M
这可以防止vim忽略\(
组合并将其视为(
。
(很长的答案可能涉及使用类似的matchit插件,我不知道,这向vim解释\
表示lambda,而不是反斜杠。)