vi里面如何在指定的行之内进行search?

Vim、Emacs配置和使用
回复
treo
帖子: 2
注册时间: 2006-06-20 5:25
送出感谢: 0
接收感谢: 0

vi里面如何在指定的行之内进行search?

#1

帖子 treo » 2006-06-20 5:30

看到一些例子,都是有关在指定行之间进行替换的,我照着样子试,结果效果出不来

我想在第612行到1200行之间search "input"这个词,于是我
:612,1200/input
结果它还是从第一行开始搜索

我该怎么办? :o
头像
Strange
帖子: 1823
注册时间: 2006-05-19 9:54
来自: Shanghai
送出感谢: 2 次
接收感谢: 10 次

#2

帖子 Strange » 2006-06-20 9:39

就search的话,默认好像是没有办法的。一定要的话,写个script到事能解决这个问题
bbfish
帖子: 10
注册时间: 2006-04-05 0:53
送出感谢: 0
接收感谢: 0

#3

帖子 bbfish » 2006-06-20 12:41

:o 现学现卖一下:
:612;/input/
注意中间是分号不是逗号。可以参考这里:
http://blah.blogsome.com/2006/06/17/vi_ ... addressing
tsunli
帖子: 66
注册时间: 2005-05-25 0:10
送出感谢: 0
接收感谢: 1 次

替换

#4

帖子 tsunli » 2006-06-20 13:36

:开始行号,结束行号s/aaa/bb/g 将aaa替换为bb
全文替换:1,$s/aaa/bb/g
当前行,
$为末行

1, s/aaa/bb/g
,$s/aaa/bb/g

/g ,全文替换,看情况而定不一定需要.
treo
帖子: 2
注册时间: 2006-06-20 5:25
送出感谢: 0
接收感谢: 0

#5

帖子 treo » 2006-06-20 20:35

bbfish 写了::o 现学现卖一下:
:612;/input/
注意中间是分号不是逗号。可以参考这里:
http://blah.blogsome.com/2006/06/17/vi_ ... addressing
多谢啦 :P

你给出的是从612行开始search,直到文章结束。如何控制search在612行到1200行呢?

我试着用
:612,1200;/input1/

search是从612开始,不过超过了第1200行
bbfish
帖子: 10
注册时间: 2006-04-05 0:53
送出感谢: 0
接收感谢: 0

#6

帖子 bbfish » 2006-06-28 16:57

:oops: 不懂耶,我也是刚接触Vi。不知道用g命令行不行。
[/quote]
pakix
帖子: 2
注册时间: 2006-09-05 17:02
送出感谢: 0
接收感谢: 0

帮助里面就有

#7

帖子 pakix » 2006-09-27 21:45

代码: 全选

:help search-range
:help /\%>l
这是帮助里的两个例子:
/\%>199l\%<300llimit
:exe '/\%' . col(".") . 'c'
回复

回到 “Vim和Emacs”