Vim语法着色:如何仅突出显示长行?

Pau*_*ham 18 vim configuration syntax-highlighting

我希望vim为我设置"长"线.以80列为例,我想突出显示超过该长度的行.这里大概是我认为的.vimrc文件应该包含的内容,虽然它(1)不起作用,并且(2)使用Perl的正则表达式语法来说明我的观点,因为我不太了解Vim:

...
highlight Excess ctermbg=0
au Syntax * syn match Excess /.{80,}$/
...
Run Code Online (Sandbox Code Playgroud)

这(至少在我看来)应该标记超过80列的行.我理想的是能够只为超过80列的线条部分着色,因此如果一条线是85列,那么第81列到第85列将被突出显示.

我确信Vim可以做到这一点,而不是掌握在我手中.

Cir*_*四事件 30

我需要autocomand为我工作:

augroup vimrc_autocmds
  autocmd BufEnter * highlight OverLength ctermbg=darkgrey guibg=#111111
  autocmd BufEnter * match OverLength /\%75v.*/
augroup END
Run Code Online (Sandbox Code Playgroud)

如果你的目标是平均80列,也喜欢使用75的想法.

取自:

http://blog.ezyang.com/2010/03/vim-textwidth/

没有的可能原因BufEnter:高亮+匹配只能使用一次.多次使用意味着重写旧的.如何添加多个高光


HS.*_*HS. 16

我在我的vimrc中有这个.
我在这里找到了:Vim 80列布局问题

highlight OverLength ctermbg=darkred ctermfg=white guibg=#FFD9D9
match OverLength /\%81v.*/
Run Code Online (Sandbox Code Playgroud)

您可能希望根据自己的喜好调整颜色.

  • 这仅适用于在任何给定缓冲区中打开的第一个文件 (10认同)
  • @EricHu是的,这就是ciro的回答. (3认同)
  • + 1.现在,如果有人可以解释为什么那样可以帮助我很多,因为我没有得到它. (2认同)