Das folgende Dokument liegt bereits vor
<a id="" href=""></a>
<a id="" href=""></a>
<a id="" href=""></a>
Die Systemzwischenablage enthält folgenden Inhalt:
home
help
variables
Muss an der 15. Position jeder Zeile eingefügt werden, um das folgende Format zu bilden
<a id="" href="">home</a>
<a id="" href="">help</a>
<a id="" href="">variables</a>
如果vim不行,用awk可以吗?
Diese Antwort ist nicht gut,
Zuerst eintreten
home
help
variables
Dann verwenden Sie s
命令
输入 :%s/^/<a id="" href="">/g
回车
再输入 :%s#$#</a>#g
Enter
Wenn ich weiter gehe, muss ich von dieser Basis ausgehen
<a id="" href="">home</a>
<a id="" href="">help</a>
<a id="" href="">variables</a>
形成下面的
<a id="home" href="">home</a>
<a id="help" href="">help</a>
<a id="variables" href="">variables</a>
你又如何办?
再走远一点
<a id="home" href="home.html">home</a>
<a id="help" href="help.html">help</a>
<a id="variables" href="variables.html">variables</a>
你如何快速搞定??
光标移到左上home前
光标移到第一个
</a>
之前先输入
然后使用
s
命令输入
:%s/^/<a id="" href="">/g
回车再输入
:%s#$#</a>#g
回车看了一下你的需求, 觉得你可能需要的是 vim-snippets 插件
光标移到第一个
</a>
之前:<c-v>jjjp
对于第一个需求,不需要替换,可以这样实现:
图片比较大,如果加载不出来,这里是原地址
操作顺序:
光标移到第一行的 "" 的 "<" 位置,
Ctrl+v
进入列选择模式,jj$
选中所有的</a>
,然后d
光标移至 "home" 那一行,
Shift + v
进入行选择模式,jj
选中三行,然后:right
,回车$
把光标移至 "home" 结尾,按p
粘贴gv
选中所有,然后:left
,回车光标在第一行 "home" 的 "h" 上,
Ctrl + v
进入列选择模式,jj$y
复制三行gg$
光标移至第一行末尾,然后p
第二个需求同理,剪切一下
id=""
第二个引号以及后面内容就行了。第三个需求,暂时想不出更好的方法可以用 Bash+Sed可以处理,不过这样处理就像是用程序语言处理一样
备注:test.txt是要处理的源文件,sd.f是用程序生成的存放sed处理命令的文件。sd.in是存放的变量值,即home,help……三个值