2012-10-23 37 views
3

禁用拼写检查时,在vim在表格环境编写的乳胶,例如VIM在某些地区

\begin{tabular}{rl} 
    one & two \\ 
    \multicolumn{2}{c}{what?} 
\end{tabular} 

rl被标记为未命中的法术,但它应该被忽略。 我加入以下后/文件类型插件/ tex.vim里:

syn region texMyNOHL matchgroup=NONE start='{tabular}{' end='}' 
    \ [email protected] 

但它仍然标记为未命中的法术。

忽略特定区域的正确方法是什么?

+0

好问题,但更适合superuser.com。 –

+3

前面已经讨论过,与vim相关的问题在stackoverflow中。为什么这个问题与其他vim问题不同? – skeept

回答

1

您不能只覆盖texMyNOHL区域;现有的tex语法定义会阻止匹配,因为它们更加细化。

检查语法时,您会看到该项目与texMatcher组匹配。这个允许通过texMatchGroup语法簇包含内部匹配:

:syn match texRl contained [email protected] "rl" 
:syn cluster texMatchGroup add=texRl 
+0

如果我明白你的答案,这将考虑“rl”不要错过即使在表格外的拼写错误拼写。是这样吗? – skeept

+0

'texMatcher'组代表像'{...}'和'[...]'之类的东西;它适用于所有这些事情。我已经在回答中添加了“包含”,以使其更加清晰,但对于Tex来说,这似乎不是必要的,因为整个文档都包含在顶层组中。 –

相关问题