今天看了一下vi的查找替换命令,感觉是方便的很。如果我们的程序很小或者只要更改一个或者说极少的几个地方,可能不需要这个命令。如果程序很大或者我们想要修改的字符串出现在程序的很多地方,要一个一个的都查找到并且正确改正,可能要下不少功夫加细心了,如果用vi的查找替换命令会方便不少。
vi基本的查找替换命令的格式为:【range】s/str1/str2/[option];
range:查找文件的范围,可以是比如N1,N2:—N1到N2之间查找替换,
N,:从第N行到最后一行开始查找替换;
%:代表在整个程序文件中进行查找替换,就是从第一行到程序最后一行。
s:替换命令
str1:要被替换的字符串
str2:替换的字符串
【option】:可是g,c或gc组合:/g:表示在全局范围内进行替换,否则只对每一行的第一个匹配串进行替换,/c:每次进行替换前要求用户进行确认。
比如:
:%s/print/PRINT/gc 表示在整个程序文件中所有的print全部替换为PRINT,并要求用户在替换前进行确认。
:1,s/print/PRINT/gc 表示从第一行开始到程序的最后一行文件中所有的print全部替换为PRINT,并要求用户确认。
:3,8s/print/PRINT/gc 表示从文件的第三行到第八行之间的所有print都替换为PRINT,并要求用户确认。
查找替换命令可以进行简单的模式匹配,还没研究,下次再写吧
只记住还不行,要多练习几次就会好多了。