如何简化文本中上角标编号的重排操作?
需求:重排文本文档中的上角标编号
需要将文本文档中的上角标编号从1开始递增重排,确保编号无重复。
输入内容
Hfghh<sup>[1]</sup>. Hfgghc<sup>[1]</sup>. Fhvfh<sup>[2]</sup>. Dfyhh<sup>[3]</sup>. Xfghg<sup>[4]</sup>. Rfchh<sup>[5]</sup>. Ffhvy<sup>[6]</sup>. Xfhhb<sup>[7]</sup>. Tfhfh<sup>[8]</sup>. Igxfg<sup>[9]</sup>. Atgvvh<sup>[10]</sup>. Zfthb<sup>[11]</sup>. Phfdb<sup>[12]</sup>.
期望输出
Hfghh<sup>[1]</sup>. Hfgghc<sup>[2]</sup>. Fhvfh<sup>[3]</sup>. Dfyhh<sup>[4]</sup>. Xfghg<sup>[5]</sup>. Rfchh<sup>[6]</sup>. Ffhvy<sup>[7]</sup>. Xfhhb<sup>[8]</sup>. Tfhfh<sup>[9]</sup>. Igxfg<sup>[10]</sup>. Atgvvh<sup>[11]</sup>. Zfthb<sup>[12]</sup>. Phfdb<sup>[13]</sup>.
当前使用的Notepad++方法(步骤繁琐)
- 打开文档按Ctrl+H打开替换窗口;
- 选择正则表达式模式,用
<sup>\[\d+\]</sup>替换为<sup>[]</sup>清除所有编号; - 用
<sup>\[\]</sup>替换为<sup>[\r\n]</sup>将]</sup>移至下一行; - 按Alt+Shift+↓选中所有
]</sup>前的位置; - 按Alt+C插入递增数字,但1-9后会有多余空格;
- 用
<sup>\[\R(\d+)替换为<sup>[$1合并换行内容; - 用
<sup>\[(\d+)\s*\]替换为<sup>[$1]去除多余空格。
寻求更简便的实现方法
Stack Overflow上的Vim脚本方案看不懂,无法使用,希望得到更易懂、操作更简单的方法。
内容的提问来源于stack exchange,提问作者user22522657




