2012-10-23 35 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來說,這似乎不是必要的,因爲整個文檔都包含在頂層組中。 –

相關問題