0

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

match ErrorMsg '\%80v.\+'

这适用于 html 文件或 .vimrc 文件,但不适用于 php 文件。我也直接在一个php文件中尝试过,它也没有工作

/\%>80v.\+

有什么建议可以确定问题吗?

4

2 回答 2

2

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

您可以检查您的定义(它有'id': 1)是否仍然有效

:echo getmatches()
于 2013-05-22T10:42:27.210 回答
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
于 2013-05-22T11:28:08.753 回答