我有一堆文本需要通过 HTML 进行格式化,我的主要问题是某些单词的开头有一堆数字,我需要用 HTML 标签将它们包裹起来。我试图想出一个可以帮助我实现这一点的 vim 正则表达式,但我得到的最多结果如下:
:s:\(\d\):<sup>\1<\/sup>
但是,这只会改变行中的第一个数字,而不会改变其后的任何数字。有什么想法吗?
答案1
你应该试试:
:s/\(\d\+\)/<sup>\1<\/sup>/g
您的命令存在两个问题:
\d
仅匹配一位数字。添加+
do match more- 最终
/g
允许替换在第一场比赛后继续进行。
答案2
您可以使用 VIM 的环绕插件来实现: https://github.com/tpope/vim-surround