我想用Vim识别超过80个字符的行,我找到了这个解决方案:
match ErrorMsg '\%80v.\+'
这适用于html文件或.vimrc文件,但不适用于php文件。我也直接在一个php文件中尝试了这个,它也无法正常工作
/\%>80v.\+
有任何建议来确定问题吗?
答案 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