Vim 中超过 80 个字符的高亮行不适用于 php
Posted
技术标签:
【中文标题】Vim 中超过 80 个字符的高亮行不适用于 php【英文标题】:Highlight lines longer than 80 characters in Vim doesn't work with php 【发布时间】:2013-05-22 09:22:23 【问题描述】:我想用 Vim 识别超过 80 个字符的行,我找到了这个解决方案:
match ErrorMsg '\%80v.\+'
这适用于 html 文件或 .vimrc 文件,但不适用于 php 文件。我也直接在一个php文件中尝试过,它也没有工作
/\%>80v.\+
有什么建议可以找出问题吗?
【问题讨论】:
我不明白为什么您的/
搜索与文件类型有关。你确定你的 php 文件有超过 80c 的行吗?您是否也尝试将您的工作 html 重命名为 php 并再次测试?您的 php 文件类型是否有特殊设置,覆盖搜索突出显示?
不知何故我解决了这个问题。可能我有一些与此冲突的插件,但我仍然不确定是哪个
【参考方案1】:
:match
(以及相关的:2match
、:3match
)的问题在于只能有一种模式;以下命令清除前一个。 (这就是引入matchadd()
函数的原因。)
你可以检查你的定义(它有'id': 1
)是否仍然有效
:echo getmatches()
【讨论】:
【参考方案2】:这是一个更灵活的解决方案,可以使用可切换功能仅突出显示超过 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
【讨论】:
以上是关于Vim 中超过 80 个字符的高亮行不适用于 php的主要内容,如果未能解决你的问题,请参考以下文章