在我的C ++代码中,我使用的定制类型很像
typedef double type_scalar
typedef std::complex<type_scalar> type_complex
etc.
我遵循惯例,我总是将type_ *放在我的类型名称前面。 我使用(G)VIM编辑器,并希望语法突出显示我的自定义类型,就像内置类型一样(没有在语法文件中明确地列出它们)。
我在网上搜索了可能的解决方案,并尝试从正则表达式中添加所有内容,例如
syn keyword cppType \<type_.*/
和
syn keyword cppType type_[^\ ]*\
到
syn match typedefSuffix '\a\+'
syn keyword cppType type_ nextgroup=typedefSuffix
在我的〜/ .vim / syntax / cpp.vim文件中,但我无法获得所需的结果,即获取表单type_whatever的每个实例都突出显示。
有人可以帮忙吗?
答案 0 :(得分:1)
syn keyword cppType \<type_.*/
那个看起来很有希望,除了:
:syn keyword
不使用正则表达式,只使用文字关键字;你需要:syn match
(并将正则表达式括在分隔符中).*/
将匹配行中最后一个/
的所有内容;您需要\w\+
将匹配限制为标识符的其余部分,并\>
强制执行关键字的结束。埃尔戈:syn match cppType "\<type_\w\+\>"
把它放进~/.vim/after/syntax/cpp.vim
,你应该好好去。
您的问题可以通过优秀的文档解决。了解如何查找命令并导航内置:help
;它是全面的,并提供了许多提示。你不像其他编辑那样快速学习Vim,但如果你致力于不断学习,那么它将成为一个非常强大和高效的编辑器。