我们能否在评论部分转义类型、代码等,以便拼写检查不会将它们视为拼写错误

Can we escape types, codes, etc. in comments section so that spell check does not consider them as typo

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

要为 cppc 文件加载此行,请将此行(单独)添加到文件 ~/.vim/after/syntax/c.vim,以便在 C++ 和 c 的系统语法文件之后加载它C.(cpp 语法规则包括 c 的所有语法,所以你也会在 cpp 上得到它。)

语法规则使用 ` 作为开始和结束分隔符。

它使用 containedcontainedin 只匹配内部评论。 cComment 规则匹配传统的 multi-line /* ... */ 评论,cCommentL 匹配 single-line // ... 评论。 (两者都在 Vim 附带的 C 和 C++ 语法文件中定义。)

transparent属性指示不使用此句法规则作为高亮组,因此在符合此规则的部分保留注释的正常高亮。

最后,contains=@NoSpell 是禁用匹配此规则的区域的拼写。有关拼写如何与语法突出显示一起使用的更多详细信息,请参阅 :help spell-syntax