如何获得%i Ruby数组在Vim中正确突出显示?

时间:2019-05-26 15:21:51

标签: ruby vim

我的Vim没有突出显示相对较新的%i语法。这是一个示例:

enter image description here

我提供了一个%w示例,该示例可以正常工作,以显示所需的效果。

如何使Vim正确突出显示%i

2 个答案:

答案 0 :(得分:1)

如果您在编辑任何ruby文件时在控制模式下键入:syn ⏎,则将看到所有语法定义(或ruby /usr/share/vim/vim81/syntax/ruby.vim的打开的系统范围语法主题或它的位置) )

负责%i[]的人是rubySymbol

%i[]绝不是“相对较新”的问题,问题在于您的颜色主题没有以不同的方式突出显示符号。不仅是文字,还有所有符号。运行:

:hi rubySymbol term=bold ctermfg=Red

,您会发现它非常完美。您可以根据需要对其进行调整(例如,请参见rubyString以获取灵感),然后将其放在~/.vim/syntax/ruby.vim中。

答案 1 :(得分:0)

默认情况下,Vim突出显示Ruby的字符串定界符和符号定界符。字符串定界符突出显示为Delimiter类型,符号定界符突出显示与符号相同,默认情况下,符号定界符的类型为Constant

如果要突出显示%i和与%w相同的括号,则可以运行以下命令:

:hi link rubySymbolDelimiter rubyStringDelimiter

如果您喜欢该设置,则可以将其放入名为.vim/after/syntax/ruby.vim的文件中,只要启用了Ruby语法,它就会自动被拾取。

请注意,在较新版本的Vim中,上述命令还将使符号前面的冒号与%i一样突出显示。该功能不可配置,因为它们都使用rubySymbolDelimiter匹配组。