如何实现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.
相关产品推荐
相关产品推荐

