ChinaUnix首页 > 精华文章 > Linux > 正文

[精彩] vi中如何实现批量替换?


http://www.chinaunix.net 作者:coolc  发表于:2005-11-11 10:39:25
发表评论】 【查看原文】 【Linux讨论区】【关闭

sample


aa
b
bbb
bb
ee
ee
ee

:s/ee/hehe/g
:s/ee/hehe
   都不可以呀?费解



 coolc 回复于:2003-07-21 14:27:37

加上行号可以了,但是无法实现WIN中的一步一步 的查找替换(交互的那种),大家可否指教一二,谢谢


 akai_feng 回复于:2003-07-22 09:55:01

:1,$s/ee/hehe/g
:%s/ee/hehe/g


 流氓无产者 回复于:2003-07-22 10:42:16

交互式,g/pattern/s//your_string/c


 eagerlinuxer 回复于:2003-07-27 00:34:58

用这个     :1,$ s/pattern/you_string/gc        试一下。


 yumy2005005 回复于:2005-04-02 15:39:02

举个例子啊:
将文件tihuan(假设此文本中字符a)中的所有字符a换成字符w,其命令为:
1。vi tihuan
2。按esc键
3。按shift+:
4。在:后输入    %s/a/w/g

就ok了!


 yumy2005005 回复于:2005-04-02 15:56:25

其中s为:substitute,%表示所有行,g表示global


 yumy2005005 回复于:2005-04-02 15:59:40

如果要替换34到78行之间的,则如下:
前几步同上,最后一步为:
:34,78s/a/w/


 kukoo 回复于:2005-04-02 21:07:23

引用:原帖由 "akai_feng" 发表:
:1,$s/ee/hehe/g
:%s/ee/hehe/g



正解


 knighthell 回复于:2005-11-10 16:48:47

用sed就可以,sed 's/AAA/BBB/g'


 寂寞烈火 回复于:2005-11-10 16:53:34

vim -e -s -c ":%s/old/new/" -c ":wq!" urfile


 kelela 回复于:2005-11-10 23:22:05

因为vim功能很强,所以到现在我都没怎么用emacs...各位高人介绍一下万能的emacs的优点哈~


 johnz02 回复于:2005-11-11 02:42:06

gvim 用起来就像windows notepad. 但是vi有时更方便。 QUICK REF
http://www.chem.brown.edu/instructions/vi.html


 a_mug 回复于:2005-11-11 05:04:42

如果新的字符串中有/ 怎么办呢?

比如替换 "etc" 为 "etc/rc.d"?

谢谢!


 yjh777 回复于:2005-11-11 10:39:25

如果替换的字符串中有/  ,分隔符用#代替。

:%s#pattern1#pattern2#g

vi的功能很强大,google.










“多动手你才会成为一个高手“。




原文链接:http://linux.chinaunix.net/bbs/viewthread.php?tid=119327
转载请注明作者名及原文出处