You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Vim函数将C语言//注释转为含大写内容的/* */注释?

解决Vim中将C单行注释转块注释并大写内容的问题

你可以利用Vim正则替换里的\U标记实现文本大写转换,修改后的函数如下:

function! ANSIC89()
    %s/\v\/\/(.*)/\/\* \U\1\E \*\//g
endfunction

关键说明:

  • \v:启用very magic模式,让正则语法更贴近通用风格,无需对括号()转义就能定义捕获组
  • \U\1\E:\U开启大写转换,\1引用捕获到的注释内容,\E终止大写转换,避免把块注释的符号也转成大写
  • 替换后会自动把// Comment转换成/* COMMENT */

如果习惯用Vim默认的nomagic模式,也可以写成:

function! ANSIC89()
    %s/\/\/\(.*\)/\/\* \U\1\E \*\//g
endfunction

内容的提问来源于stack exchange,提问作者M.E.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 15:55:07