我使用的代码标准指示行数应少于80个字符。我想在编写时自动指出这一点,以避免以后再出现此错误。

评论

我认为@JoshPetrie不是重复的。这个问题比较笼统,因为还有其他方法可以指示行太长。 (例如,请参见gitcommit语法,该语法使用语法突出显示。)

#1 楼

如果您使用的是Vim 7.3或更高版本,则可以设置colorcolumncc

:set colorcolumn=80


来自:help colorcolumn


'colorcolumn '是用逗号分隔的屏幕列列表,这些列以
用ColorColumn hl-ColorColumn高亮显示。对齐文本非常有用。


还可以相对于textwidth变量设置文本,这可能比将其设置为绝对值更有用。

:set colorcolumn=+1


或设置多列:

:set colorcolumn=-1,+30


要更改colorcolumn的颜色,请使用:highlight ColorColumn,例如


:highlight ColorColumn ctermbg=lightgrey guibg=lightgrey


#2 楼

除了显示最大尺寸的行外,还可以通过

:let w:m1=matchadd('ErrorMsg', '\%>80v.\+', -1)

突出显示多余的字符,这会将多余的字符设置为错误(通常为红色背景,但取决于配色方案。

可以将其添加到.vimrc中,以在每个文件上自动执行此操作

:au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)

评论


在哪里可以找到有关w:m1和w:m2变量的文档?

– Kvass
18-10-24在0:23

#3 楼

除了colorcolumn选项,您还可以告诉vim通过将以下内容放入.vimrc文件中来自动将您下移到下一行:

set textwidth=80



来自文档(:h textwidth


正在插入的文本的最大宽度。
较长的行将在空格后断开以达到此宽度。零值将禁用此功能。设置“粘贴”选项时,“文本宽度”设置为0。当
'textwidth'为零时,可以使用'wrapmargin'。另请参见
'formatoptions'和ins-textwidth。

设置'formatexpr'时,它将用于换行。

注意:此选项为设置为“ compatible”时将其设置为0。