2011-09-27 103 views
1

我正在使用Vim使用JavaScript编辑JSP文件。不知何故,%键(跳转到匹配大括号)大多数时间不起作用:有时它可以工作,有时它只能在一个方向上工作,但大部分时间根本不起作用。当然,Vim能够突出显示正确的匹配大括号,但matchit.vim似乎无法找到它。我正在使用插件的最新版本(1.13.2)。Vim:大括号匹配不可靠

例子:

<s:layout-component name="extra_styles"> 
@import "${mediaPath}/css/whatever.css"; 
.test .someclassname { 
    top: 5px; 
    left: 32px; 
} 
</s:layout-component> 

这将无法找到匹配的大括号。

有没有人知道这个解决方案?

+2

请举例说明。 –

+0

有没有人知道这个问题? – sehe

+0

我添加了一个小例子。 – basteln

回答

2

我认为它与JSP语法定义有关:我将示例上的文件类型更改为css:matchit从一个大括号正确跳转到另一个大括号。将文件类型更改回jsp使得matchit头晕目眩。

:set ft=css.jsp似乎让双方正确matchit行为和CSS全方位完成。看看它是否不会破坏jsp前端的任何内容。

+0

+1好的想法 – sehe

+0

不错的尝试,但是这打破了JSP和HTML标记的%标记匹配。 – basteln

+1

我不认为matchit应该用于不属于该语言的组合。大括号是CSS的一部分,但不是JSP的一部分,所以matchit不起作用。 – romainl

4

我有同样的问题:%不会跳转到匹配{}。这是我的解决方法:

:let b:match_debug=1 

%之后开始跳舞。

希望它有帮助。