vim 在每行头尾加入新的内容
需求:
从当前目录找到一批 html 文件,想用一个 Html 把他们的地址用超级链接表示出来,使得在浏览器中只要通过这一个页面就能够访问其他页面。
1. find . -iname "*valid*.*" > valid.txt
然后文件名就以如下的形式存在:
./ValidityState-002.html
./ValidityState-customError-expected.txt
./ValidityState-customError.html
./ValidityState-patternMismatch-expected.txt
./ValidityState-patternMismatch-unsupported-expected.txt
./ValidityState-patternMismatch-unsupported.html
./ValidityState-patternMismatch.html
./ValidityState-rangeOverflow-expected.txt
./ValidityState-rangeOverflow.html
。。。
2. 我想要的形式是:
<a href=./ValidityState-002.html>./ValidityState-002.html</a>
...
解决方案:
a. cat valid | while read line;do echo "$line>$line" >>vv.html ;done
b. vi vv.html
此时文件内容如 “href=./ValidityState-002.html>./ValidityState-002.html”,要在每行头尾加 <a> 标签,好在有 vi 的命令
c. 在每行开始加入“<a href=” vim 命令: :%s/^/<a href=
d. 在每行尾加入 “</a>” vim命令 : :%s/$/<\/a>
更新:
用到 html5 ol 元素
上述 c 改成 :%s/^/<li><a href=
d 改成 :%s/$/<\/a><\/li>
然后再文件头尾用 ol 包起来
<ol>
<li>xxx</li>
...
</ol>
g这样显示出来就是:
1.xxx
2.xxx
3.xxxxxx