当前时区 GMT+8, 现在时间是 2008-9-7 17:18 游客: 注册 登录 仅登录论坛 | 搜索 帮助
标题: 关于vi使用的问题
youhaodiyi
中级会员
Rank: 3Rank: 3


UID 95671
精华 0
积分 775
帖子 310
阅读权限 30
注册 2004-2-16
来自 China
状态 离线
发表于 2007-3-17 09:27  资料  短消息  加为好友 
关于vi使用的问题

我在vi中使用这个命令来删除所有包含“abc”的行:

1,$ /abc/d

为什么每次总是只删除第一行?我不是已经用1,$来表示所有范围吗?

顶部
vsxf
新手上路
Rank: 1



UID 210851
精华 0
积分 53
帖子 26
阅读权限 10
注册 2006-2-10
状态 离线
发表于 2007-3-17 10:55  资料  短消息  加为好友  添加 vsxf 为MSN好友 通过MSN和 vsxf 交谈 Yahoo!
[code:1]:g/abc/d[/code:1]
你那样似乎是删除从第一行到第一次出现abc的行

顶部
youhaodiyi
中级会员
Rank: 3Rank: 3


UID 95671
精华 0
积分 775
帖子 310
阅读权限 30
注册 2004-2-16
来自 China
状态 离线
发表于 2007-3-17 12:37  资料  短消息  加为好友 
那么在使用替换命令时,就需要这么指定呢?比如:

:1,$ s/abc/ABC/g

表示从第一行开始替换所有abc为ABC,这个时候为什么1,$就表示所有行呢?

顶部
vsxf
新手上路
Rank: 1



UID 210851
精华 0
积分 53
帖子 26
阅读权限 10
注册 2006-2-10
状态 离线
发表于 2007-3-17 13:42  资料  短消息  加为好友  添加 vsxf 为MSN好友 通过MSN和 vsxf 交谈 Yahoo!
不知道,我都是用%s/a/A/g

顶部
youhaodiyi
中级会员
Rank: 3Rank: 3


UID 95671
精华 0
积分 775
帖子 310
阅读权限 30
注册 2004-2-16
来自 China
状态 离线
发表于 2007-3-17 18:45  资料  短消息  加为好友 
多谢vsxf。
那如果我想删除第10行到第20行的数据该怎么办呢?总不能每次操作都针对所有的文本吧。

顶部
vsxf
新手上路
Rank: 1



UID 210851
精华 0
积分 53
帖子 26
阅读权限 10
注册 2006-2-10
状态 离线
发表于 2007-3-18 11:32  资料  短消息  加为好友  添加 vsxf 为MSN好友 通过MSN和 vsxf 交谈 Yahoo!
:10,20d

顶部
 


Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
清除 Cookies - 联系我们 - 中国Linux公社 - WAP