答案 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
匹配组。