在我们的C ++代码库中,我们保留了99个列行但79个奇数列的多行注释。 是否有一个很好的策略来自动执行此操作? 我认为模式已经知道,因为智能注释行连接和前导*插入。
显然,代码和注释都使用相同的textwidth
选项。 据我所知,唯一的技巧是动态设置此选项:
:autocmd CursorMoved,CursorMovedI * :if match(getline(.), '^s**') == 0 | :setlocal textwidth=79 | :else | :setlocal textwidth=99 | :endif
这里的关键部分是检测我们何时进行评论。 如果您只是这样格式化评论:
/* * my comment */
我的正则表达式应该工作…除非你的代码中的行以*
开头(我猜这可能发生在C
,在C++
不常发生)。 如果你使用这样的评论:
// comment line 1 // comment line 2
正则表达式甚至更简单。 如果你想要涵盖所有可能的情况,包括极端情况……我想最好的事情是定义一个单独的检测函数,并从:autocmd
而不是match()
调用它。
我遇到了同样的问题,并认为我找到了合适的解决方案。
我希望我的评论能够自动换行,这样当我打字时,我不必担心格式化文本。 这适用于评论文本。 但我对使用vim格式化代码感到不舒服。 所以我希望vim在x列之后突出显示红色的所有内容。
要仅使用cpp代码执行此操作,您可以将以下内容添加到〜/ .vim / ftdetect / cpp.vim文件中。
set textwidth=79 match ErrorMsg '%>99v.+'
注意:如果文件和文件夹不存在,您可能必须创建它们。
如果您遇到此问题,请确保将formatoptions设置为:
formatoptions=croql
您可以通过运行以下命令来查看:在vim中设置formatoptions。
需要了解更多c/c++开发分享Vim不同的文字宽度用于多行C评论?,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!
以上就是c/c++开发分享Vim不同的文字宽度用于多行C评论?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/979869.html