在Vim中突出显示超过80个字符的行不能与php一起使用

时间:2013-05-22 09:22:24

标签: vim coding-style vim-syntax-highlighting

我想用Vim识别超过80个字符的行,我找到了这个解决方案:

match ErrorMsg '\%80v.\+'

这适用于html文件或.vimrc文件,但不适用于php文件。我也直接在一个php文件中尝试了这个,它也无法正常工作

/\%>80v.\+

有任何建议来确定问题吗?

2 个答案:

答案 0 :(得分:2)

:match(以及相关:2match:3match)的问题是,只能有一种模式;以下命令清除上一个命令。 (这就是引入matchadd()功能的原因。)

您可以使用

检查您的定义('id': 1)是否仍然有效
:echo getmatches()

答案 1 :(得分:1)

这是一个更灵活的解决方案,使用可切换功能突出显示超过80个字符的字符。用您喜欢的任何键绑定替换第一行。

nnoremap <leader>h :call ToggleOverLengthHighlight()<CR>
let g:overlength_enabled = 0
highlight OverLength ctermbg=black guibg=#212121

function! ToggleOverLengthHighlight()
    if g:overlength_enabled == 0
        match OverLength /\%79v.*/
        let g:overlength_enabled = 1
        echo 'OverLength highlighting turned on'
    else
        match
        let g:overlength_enabled = 0
        echo 'OverLength highlighting turned off'
    endif
endfunction