首页 > study_note > 一个简单的vim实例

一个简单的vim实例

2010年5月5日 T 发表评论 阅读评论

实际工作中碰到的问题,记录一下,免得忘了。代码如下:

...
<table>
<tbody>
<tr>

</tr>
</tbody>
</table>
...

其实际效果是一个一行的表格,我现在需要把它变成一个两行的表格。如果只有一个这样的表格,那很容易,修改增加红字部分即可:

...
<table>
<tbody>
<tr>

</tr>
<tr>
</tr>

</tbody>
</table>
...

可问题是我有100来个这样的表格,一个个改显然很傻。放到vim里批量改,才是个省时省力的好办法,虽然第一次麻烦点,但一劳永逸。直接给出修改方法:

%s/<tr>\n<\/tr>/<tr>\n<\/tr><tr>\n<\/tr>/g

说明和注意事项如下:

  1. %s/a/b/x: vim中的替换命令,用b的内容替换a,x是参数,设定范围等信息。
  2. \n: vim中的换行符。
  3. \/: 转义/,因为在这个替换命令中“/”有特殊含义,是命令的分隔符,而我们真正需要的,作为普通字符处理的“/”如何表示呢?就要借助转义符“\”,“\/”即表示把“/”当普通字符处理。
  4. /g: 表示全文搜索,没有这个参数,默认是搜索当前行。
  5. 这只是个简单应用,其实有更简洁更高级的写法。这里就不罗列了。
  6. 如果你一点也看不懂也没有关系,因为我是写给自己看的,讲得很乱。有兴趣的请自行学习vim,绝对会让你有白活半辈子的感觉。

分类: study_note 标签:
  1. Yin
    2010年5月5日21:21 | #1

    我确实看不懂。

  2. 2010年5月6日00:36 | #2

    @Yin
    酱油通道伺候。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。