如何解决我们可以在注释部分中转义类型,代码等吗,以便拼写检查不会将它们视为错字
Vim仅在注释部分支持拼写检查,但是,如果我有类型名称或非常规词,它将被视为错字。例如,在下面的示例中,std::endl
将突出显示为错字。
// Don't use std::endl,it will flush unnecessarily
我希望我们可以像下面这样使用``
来使它们逃脱。
// Don't use `std::endl`,it will flush unnecessarily
除了将所有内容添加到字典之外,还有其他提示或解决方案吗?
我真的不想因此禁用拼写检查,因此非常感谢您的帮助。
谢谢!
解决方法
您可以使用以下语法规则来创建与`...`
块匹配的新组,并在这些块中禁用拼写:
syntax region cCommentNoSpell start=+`+ end=+`+
\ contained containedin=cComment,cCommentL transparent
\ contains=@NoSpell
要为cpp
和c
文件加载此文件,请将此行(自身)添加到文件~/.vim/after/syntax/c.vim
中,以便在C ++和C的系统语法文件之后加载。 (cpp
语法规则包括c
的所有语法,因此您也可以在cpp
上找到它。)
语法规则使用`
作为开始和结束定界符。
它使用contained
和containedin
仅匹配内部注释。 cComment
规则匹配传统的多行/* ... */
注释,cCommentL
匹配单行// ...
注释。 (两者都在Vim附带的C和C ++语法文件中定义。)
transparent
属性指示它不要将此语法规则用作突出显示组,因此,它将保留该规则匹配的部分中注释的常规突出显示。
最后,contains=@NoSpell
是在与此规则匹配的区域上禁用拼写的功能。有关拼写如何与语法突出显示一起工作的更多详细信息,请参见:help spell-syntax
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。