已经有下面的文档
<a id="" href=""></a>
<a id="" href=""></a>
<a id="" href=""></a>
系统剪贴板里面有如下内容:
home
help
variables
需要在每行的第15个位置处插入,形成下面的格式
<a id="" href="">home</a>
<a id="" href="">help</a>
<a id="" href="">variables</a>
如果vim不行,用awk可以吗?
这个答复不行,
先输入
home
help
variables
然后使用 s 命令
输入 :%s/^/<a id="" href="">/g 回车
再输入 :%s#$#</a>#g 回车
如果我进一步,需要从这个基础上
<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>
你如何快速搞定??
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
光标移到左上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……三个值