如图
现在接手一个老项目,里面大量的注释风格混用,为了 ts 的智能提示,需要统一改为 js DOC 风格
想到 vim 应该可以比较好地完成这个事情,但是本人 vim 目前处于初学阶段,研究了会搞不出来,来问问 V 友
1
billlee 2020-12-25 21:37:22 +08:00
大规模的修改 vim 不好搞的,万一有个字符串字面值里面有 // 怎么办?这种事情还是交给专业的 IDE 去做
vim 擅长的是 ad hoc 修改需求 |
3
joysir 2020-12-25 21:44:20 +08:00 1
vim 宏可以解决,建议先看一遍 vim 宏的基本概念,理解之后再看以下内容。
光标放到 name 行首,在此行录制一个宏,如下步骤按键: qa - 录制一个名为 a 的宏 $ - 到行尾 v - 选中模式 F/ - 从后找到第一个 / l - 小写的 L,向左移动一位 x - 剪切注释内容 O - 大写的 O:在当前行之上插入一行 接着在新开启的行正常输入注释格式(尽量减少出错,一次性完成),并按 p 粘贴刚刚剪切的注释 完成 name 字段的格式之后,继续按键: j - 移动到下一行 0 - 回到下一行的行首 q - 结束名为 a 的宏 此时,有一个名为 a 的宏录制了将行内注释转换为文档注释并自动跳转到下一行的操作。 使用宏: - 单个操作:可以在 age 字段的行首,按 @a 回放宏,完成 age 注释的转换。 - 批量操作:例如 10 个字段,可以在第一个需要处理的字段按 10@a 执行 10 次宏。 |
5
crs0910 2020-12-25 21:46:40 +08:00
.s,\(.*\)//\(.*\),\r/**\r* \2\r*/\r\1
慎用 |
6
Kasumi20 2020-12-25 21:47:54 +08:00
Node.js 处理一遍呗
|
7
crs0910 2020-12-25 21:55:45 +08:00
vscode: https://cln.sh/Ad0mwx
|
8
crs0910 2020-12-25 22:10:06 +08:00 1
也可以用 typescript 的 api 自己 transform
https://github.com/dsherret/ts-morph |
9
lululau 2020-12-25 22:17:12 +08:00 via iPhone
服了 1 楼了,以为你要说交给脚本去处理呢,还大型 ide,哪个大型 ide 有这样的功能?哪个大型 ide 比 vim 或脚本更适合处理这个问题
|
10
lululau 2020-12-25 22:22:28 +08:00 1
fastmod '^(\s*)(.*) // (.*)' '$1/**'$'\n''$1 * $3'$'\n''$1 */'$'\n''$1$2' demo.js
|
11
learningman 2020-12-25 23:34:33 +08:00
@lululau JB 家的真有这玩意儿,refactor
|
12
HytonightYX OP |