Vim 隐藏对双等号不起作用
Vim Conceal not working for double equals
我正在尝试编写一个自定义隐藏脚本以将 ==
替换为 ≈
。
但是,我的语法匹配似乎只有在我输入 =
而不是 ==
时才有效。
content.js
var body = document.body;
if (body == 'body')
console.log('yes');
javascript.vim
当我这样做时一切正常:
syntax match jsEqual "=" conceal cchar=≈
当我把它改成:
syntax match jsEqual "==" conceal cchar=≈
无所遁形
我可以使用 vim javascript syntax plugin 重现它,但不能使用内置语法脚本。该扩展语法为 ==
.
定义了语法组 javaScriptOpSymbols
找出哪个语法组导致突出显示。 :syn list
显示所有活动组,但安装 SyntaxAttr.vim - Show syntax highlighting attributes of character under cursor 插件后更容易。
要使您的隐藏组适用,您需要使其在涵盖 ==
的语法组内适用;这是通过 :help :syn-containedin
属性完成的:
syntax match jsEqual "==" conceal cchar=≈ containedin=javaScriptOpSymbols
我正在尝试编写一个自定义隐藏脚本以将 ==
替换为 ≈
。
但是,我的语法匹配似乎只有在我输入 =
而不是 ==
时才有效。
content.js
var body = document.body;
if (body == 'body')
console.log('yes');
javascript.vim
当我这样做时一切正常:
syntax match jsEqual "=" conceal cchar=≈
当我把它改成:
syntax match jsEqual "==" conceal cchar=≈
无所遁形
我可以使用 vim javascript syntax plugin 重现它,但不能使用内置语法脚本。该扩展语法为 ==
.
javaScriptOpSymbols
找出哪个语法组导致突出显示。 :syn list
显示所有活动组,但安装 SyntaxAttr.vim - Show syntax highlighting attributes of character under cursor 插件后更容易。
要使您的隐藏组适用,您需要使其在涵盖 ==
的语法组内适用;这是通过 :help :syn-containedin
属性完成的:
syntax match jsEqual "==" conceal cchar=≈ containedin=javaScriptOpSymbols