Vim 隐藏高亮

标签 vim vim-syntax-highlighting

当使用 vim 的隐藏功能时 set cole=2 , vim 隐藏 cchar 中任何配置的适当文本,并使用隐藏组突出显示它。

我的问题是我使用 c/c++ 中的隐藏功能来替换像 && 这样的操作||等用于 unicode ⋀ ⋁ 等,我还在 html 中使用 concel 将文本实体(如“ç”替换为“ç”)。

所以我在 ~/.vim/after/syntax/c.vim

hi clear Conceal

并在 ~/.vim/after/syntax/html.vim
hi Conceal cterm=NONE ctermbg=NONE ctermfg=darkblue

问题是这个设置是全局的。如果我打开一个 c 文件,然后打开一个 html 文件,当我回到 c 文件时,隐藏组会根据上次打开的缓冲区突出显示。

我的问题是:我可以将隐藏组设置为用于与隐藏不同的东西吗?如果不是,我怎样才能使当前缓冲区(而不是全局)特定的突出显示?

最佳答案

你不能。那么,您可以设置:autocmds切换 Conceal组的突出显示取决于当前缓冲区,但对于其他类型的非事件可见缓冲区,它仍然会关闭。一般来说,高亮组是全局的,这不太可能改变。

为了解决您的困境,我会为 Conceal 选择一个突出显示这对于您的 C/C++ 使用来说足够不显眼,但在视觉上明显不同以显示替换的 HTML 实体。对我来说,彻底清除 Conceal突出显示不是预期用途;它应该始终提醒您所看到的并不是文本中的实际内容。

关于Vim 隐藏高亮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15071808/

相关文章:

perl - 有没有办法在 vim 中为 Perl 启用代码完成?

Vim:将单词括在标签中

vim - 在 Vim 中,为什么是 :move randomly corrupting my folds?

vim - 如何在 .vimrc 中将自定义颜色设置为折叠突出显示(与腻子一起使用)

vim - 在 vim 中使用带有 synmaxcol 的折叠

vim - 是否可以在 VIM 中为 :! 或 :r ! 启用 bash_completion?

vim - 汇编vim语法高亮

vim - VIM 折叠标题中的语法高亮显示

Vim 数学语法高亮

Vim:如何将我刚刚输入的文本变成大写?