vim highlight remove overwrite others 嗨

标签 vim highlight

我是 ~/.vimrc我用这个 syn 排长队

augroup longLines                                                                                   
     au!
     au! filetype zsh,sh,python,vim,c,cpp
         \ syn match ColorColumn /\%>80v.\+/ containedin=ALL
 augroup END 

但这会用

覆盖其他syn

ss

没有

ss

为什么syn会覆盖其他高亮?
这在最后几行中是臭名昭著的

 sys.exit(1)
 import settings

有不同的颜色,用syn,线条失去了正常的高亮

最佳答案

我使用以下代码:

highlight TooLongLine term=reverse ctermfg=Yellow ctermbg=Red
autocmd BufEnter,WinEnter * if &tw && !exists('b:DO_NOT_2MATCH') |
            \                 execute '2match TooLongLine /\S\%>'.(&tw+1).'v/' |
            \               endif
autocmd BufLeave,WinLeave * 2match

command -nargs=0 -bar Dm let b:DO_NOT_2MATCH=1 | 2match
command -nargs=0 -bar Sm execute '2match TooLongLine /\S\%>'.(&tw+1).'v/' |
            \            silent! unlet b:DO_NOT_2MATCH

如果你不希望能够删除这个突出显示,依赖于文本宽度并坚持突出显示超出限制的空间,那么你可以将其截断为

2match TooLongLine /.\%>80v/

此解决方案使用 match-highlight 不会废弃语法突出显示,但始终会覆盖它。

关于vim highlight remove overwrite others 嗨,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8685612/

相关文章:

windows - 修改文本突出显示如何工作?

javascript - d3js force directed - 在悬停到节点时,突出显示/着色链接节点和链接?

vim - 如何结合 vim wiki 插件的两个功能?

vim 将键映射到需要参数的命令

vim - Macvim默认不会加载特定的配色方案

linux - vim 函数 "update timestamp"事件 "BufWrite": to be improved

css - 如何更改浏览器持久蓝色选择所有突出显示颜色?

excel - 在 Excel 的特定列中突出显示特定单词的代码

macos - 可以语法高亮差异文件的 Mac 原生文本编辑器?

VIM 如何搜索 <XX> 单字节表示