vim编辑器的问题

我在使用vim编译器的时候,输入如下文本:
I am happy.Are you hayy?
然后在命令模式下输入:
:s/hayy/happy/
结果出现的是:
E486:找不到模式:hayy。
这是怎么回事?我装的是Redflag 7,在VMware Station7.1上用的

作者: wucongdonglai   发布时间: 2010-07-14

应当是一个BUG,编辑器把查找对象当编辑语法一样用了。

作者: 王中云   发布时间: 2010-07-14

就用vi试试

作者: shenhao0129   发布时间: 2010-07-14

我在使用vim编译器的时候,输入如下文本:
I am happy.Are you hayy?
然后在命令模式下输入:
:s/hayy/happy/
结果出现的是:
E486:找不到模式:hayy。
这是怎么回事?我装的是Redflag 7,在VMware Station7 ...
wucongdonglai 发表于 2010-7-14 10:34
不是BUG。

VIM的搜索替换功能“s”是基于行操作的(有它的历史原因,感兴趣的话可以GOOGLE以下VIM和VI的历史。)。因此,如果单独使用 s 这个命令,必须要将光标放置于待修改的行上。

比如你的这个例子,光标在待修改的这行上的话,搜索替换可以正常执行, 如果你将光标放在这一行的下面一行,那就会出错,提示:E486:找不到模式:hayy。

PS: 不妨用下面的命令:
  1. :%s/hayy/happy/g
复制代码
进行全局替换,这样可以在任意行上进行操作。

作者: deepwhite   发布时间: 2010-07-14

膜拜LS个高手

作者: shenhao0129   发布时间: 2010-07-14

deepwhite
我那问题的确是由于光标不在该行所导致的。但是我用你给的那个命令,就是:/hayy/happy/g,如果光标不在该行,还是会说
E486:找不到模式hayy
这是怎么回事呢

作者: wucongdonglai   发布时间: 2010-07-14

我的命令是

:%s/hayy/happy/g

你写错了??

作者: deepwhite   发布时间: 2010-07-15

高手

作者: langfangseven   发布时间: 2010-07-15

deepwhite
我以为这%号没什么用的!呵呵,解决了!谢谢啊!
对了,顺便问一下,%在linux里究竟有什么用啊?我看了不少地方用了

作者: wucongdonglai   发布时间: 2010-07-15

不同的地方有不同的用途

在VIM里面的意思,可以输入
: h :%

来查看帮助。大概意思就是标记整个文件的意思。

作者: deepwhite   发布时间: 2010-07-15

10# deepwhite
一直到了今天才有了更深的体会

作者: wucongdonglai   发布时间: 2010-07-16

谢谢分享!都不知道你在说什么!

作者: selang0010   发布时间: 2010-08-26

又学点东西了   谢谢了哈

作者: qqi   发布时间: 2010-08-26

ca

作者: hhjs_lxx@163.co   发布时间: 2010-09-08