gpt4 book ai didi

c++ - 多行 C 注释的 Vim 不同的文本宽度?

转载 作者:IT老高 更新时间:2023-10-28 21:52:56 25 4
gpt4 key购买 nike

在我们的 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 调用它().

关于c++ - 多行 C 注释的 Vim 不同的文本宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3475072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com