老实说,原始字符串文字是 C++ 语言的一个很好的补充。但是(正如预期的那样)编辑器很难正确显示这些文字。
我正在使用 Vim 7.4 和开箱即用的原始字符串文字完全破坏了语法突出显示。例如在
char const txt[] = R"(printf(")";
第二个 '(' 在 vim 中以红色突出显示。
就像是
char const txt2[] = R"( "{{" )";
打破了花括号的突出显示和基于语法的自动识别 - 等等。
首先,我很乐意让 Vim在语法高亮之间R"(
和期间忽略所有内容。)"
但请注意,原始字符串文字是灵活的 - 在第一个/最后一个双引号/大括号对之间允许任意匹配字符串,例如
R"abcd()")")abcd"
也是一个有效的原始字符串文字,它编码
)")"
有关语法的一般定义,另请参见 cppreference 链接。
因此,我的问题是如何配置 Vim 以便正确识别 C++ 原始字符串文字。
Vim 似乎已经包含了一些工具来正确地突出显示嵌入在宿主语言中的语言片段(例如,用于编译器-编译器源文件)。也许它们也可以用于原始字符串文字情况?