我想自定义vim本机拼写机制,以便强制检查\newcommand
的整个参数中的错误单词
具体来说,我的问题是使用英语词典," wellcome" 和" fiendly",使用时\newcommand
的参数中没有突出显示语法规则,例如:
\newcommand{\Greetings}[0]{
wellcome, this is your fiendly receptionist.
}
运行命令echo synIDattr(synID(line("."),col("."),1),"name")
可以告诉我的坏词所在的环境或区域是texCmdBody
,因此以下suggestion原则上应该有效,特别是与...一起使用时syntax spell toplevel
:
syn region texMyCmdSpell matchgroup=texStatement
\ start='\\newcommand{.*{' end='}$'
\ contains=@Spell
\ containedin=texCmdBody
此修复程序有效,但它很容易分解。它确实在简单的情况下工作,但总的来说它太早停止工作。就好像texCmdBody region
结尾的上述定义不够强大。我之所以这样说,是因为它在最后一个括号之前找不到坏词,表明\newcommand
对vim语法有更多了解的人是否会建议改进此修复程序?我试过修改它没有成功。
或者,所有这些都可能是我\newcommand
使用不当的结果。通常我将beamer幻灯片的整个内容放在\newcommand
内,以便以后可以在任何我想要的地方插入,或者有时我使用\newcommand
来定义考试的问题。但这可能是不好的做法。有可移动的文本块有更好的TeX技术吗?