如何在Vim中批量为HTML表格td元素添加对应产品类名
完全可以快速批量完成,不需要手动逐个添加,下面提供两种Vim下的常用操作方案:
方案1:正则全局替换(适配所有场景,效率最高)
不管HTML代码是否对齐都可以用,操作逻辑如下:
- 先从表格首行提取15个产品的类名,按td的顺序记好(第2个td对应第一个产品的类名,第3个对应第二个,以此类推到第16个td)
- 针对每个位置的td执行批量替换即可,以给所有数据行第2个td加类名
product1为例,在Vim命令行输入:
:g/<tr>/+1 s/<td>/<td class="product1">/2
命令说明:
:g/<tr>/全局匹配所有包含<tr>的行+1代表对匹配行的下一行(也就是tr内部的td行)执行后续操作s/<td>/<td class="product1">/2末尾的数字2代表只替换当前行内第2次匹配到的<td>
- 之后只需要把命令里的替换位置数字依次修改为3~16,类名改成对应位置的产品类名,执行14次就可以完成所有td的类名添加。
方案2:宏录制重复执行(适合熟悉宏操作的用户)
如果习惯用宏操作也可以按以下步骤走:
- 光标移动到第一个数据行(表格首行表头下面的第一行)的行首
- 按
qa开始录制存储到寄存器a的宏 - 按
w跳到第二个<td>的左尖括号后方,输入class="product1",再按j跳到下一行的行首 - 按
q结束宏录制 - 有多少行数据就执行多少次宏,比如45行数据就输入
45@a,就能自动给所有行的第二个td加上对应类名 - 重复上述步骤,依次修改要添加的类名和跳转的td位置,就能完成所有列的处理
小提示:操作前可以先执行
:w保存当前版本,操作出错直接按u撤销即可。
内容的提问来源于stack exchange,提问作者Tony Sherwood
相关产品推荐
相关产品推荐

