如何用多个命令替换每个范围值

时间:2015-08-31 09:31:05

标签: vim

HTML

$row['name'];
$row['age'];
$row['nickname'];

我想让它像

<td><?php echo $row['name']; ?></td>
<td><?php echo $row['age']; ?></td>
<td><?php echo $row['nickname']; ?></td>

我用V来选择区域,然后输入s/^/<td><?php echo /g,它会成功替换头部,但如果我想在s/^/<td><?php echo /g | s/$/; ?><\/td>/g之类的行中替换头部和尾部,它会失败,这是合理的,是否有可能一次更换每条线的头部和尾部?

2 个答案:

答案 0 :(得分:3)

在&#34;替换&#34;另外,您可以使用&插入整场比赛,这样您就不需要两次换人了;一个就够了:

:s/.*/<td><?php echo & ?><\/td>

有关在替换部分中使用的其他有用原子,请参阅:help sub-replace-special

答案 1 :(得分:1)

使用capturing group。在可视模式下选择行并使用命令

:'<,'>s/^\(.*\)$/<td><?php echo \1 ?><\/td>/