Ako*_*old 9 vim vim-syntax-highlighting
当使用vim的隐藏功能时set cole=2
,vim会隐藏cchar中配置的相应文本,并使用Conceal组突出显示它.
我的问题是,我用的是隐藏在功能的C/C++来替换操作一样&&
||
,等对Unicode⋀⋁等,我也用concel在HTML替换文本实体,如"ç" 到"ç".
所以我在〜/ .vim/after/syntax/c.vim中
hi clear Conceal
Run Code Online (Sandbox Code Playgroud)
在〜/ .vim/after/syntax/html.vim中
hi Conceal cterm=NONE ctermbg=NONE ctermfg=darkblue
Run Code Online (Sandbox Code Playgroud)
问题是这个设置是全局的.如果我打开一个ac文件,然后打开一个html文件,当我回到c文件时,Conceal组会根据打开的最后一个缓冲区突出显示.
我的问题是:我可以将隐藏组设置为与隐藏不同的东西吗?如果没有,我如何制作特定于当前缓冲区的突出显示(而不是全局)?
你不能.好吧,您可以设置:autocmds
为Conceal
根据当前缓冲区切换组的突出显示,但对于其他类型的非活动可见缓冲区,它仍然会关闭.一般来说,突出显示组是全球性的,这不太可能改变.
为了解决你的困境,我会选择一个突出显示,Conceal
这对于你的C/C++使用既不显眼,又在视觉上不同以显示被替换的HTML实体.对我来说,完全清除Conceal
突出显示并非预期用途; 它应该始终作为一个提醒,你所看到的不是文本中的实际内容.