使用以下设置
set textwidth=40
set fo? -> formatoptions=croql)
set comments? -> comments=sO:* -,mO:* ,exO:*/,s1:/*,mb:*,ex:*/,://
set cindent
set cinoptions ->cinoptions=
如果我进入插入模式并开始键入以下行:
// abc abc abc abc abc abc abc abc
第40个字符处的换行符如预期所示:
// abc abc abc abc abc abc abc
// abc
此外,如果复制和粘贴的行超过40个字符,则会出现以下情况:
// abc abc abc abc abc abc abc abc
当输入命令gqq
时,它将产生与上述相同的结果。
但是我注意到,如果进入插入模式并输入以下行:
void funAbc(void) { // abc abc abc abc abc abc abc abc
该命令不会将文本分成多行。如果输入gqq
命令,结果如下:
void funAbc(void) { // abc abc
abc abc abc abc abc abc
我原本期望当插入的行超过40个字符或使用命令时,会破坏注释并在下一行插入"//" - 类似于以下内容:
void funAbc(void) { // abc abc
// abc abc abc abc abc abc
我已经尝试设置'smartindent'
,但它并没有解决问题。
是否有任何选项/技巧可以改变代码后面的这些注释的行为?