Vim:让文本在 80 列标记后变红或者屏幕闪烁?

Vim:让文本在 80 列标记后变红或者屏幕闪烁?

有没有办法让 Vim 在行超出n字符数后发出警告?

一些简单的事情,如屏幕闪烁或文本变成粗体红色等。

!!n如果可以将变量设置为在每个单独的窗口中都易于设置,则可以获得加分(我通常使用 80 列,但 PHP 使用 100 列)。

答案1

有两种可能的解决方案:

  1. 如果你的 Vim 版本至少为 7.3,只需设置'colorcolumn'选项(参见:help 'colorcolumn'), 例如 81:

    set colorcolumn=81
    

    它还可以突出显示多个列:

    let &colorcolumn = join(range(81, 400), ',')
    
  2. 如果你的 Vim 版本低于 7.3,你可能需要定义自定义突出显示规则来突出显示特定列之后的所有字符,例如:

    syn match tooLong /\%81c.*$/
    hi link tooLong Error
    

要对不同文件类型进行不同的设置,请将此命令放入适当的文件类型插件中(例如~/.vim/ftplugin/cpp.vim)。或者定义自动命令(请参阅:help :autocmd)由事件触发FileType(见:help FileType) 在你的.vimrc

相关内容