Linux VI跟VIM命令搜索单词和替换单词

Linux VI和VIM命令搜索单词和替换单词

 

 

      我们在编辑文件时常常需要搜索单词和替换单词,VI编辑器也提供了搜索和替换的功能。首先按下斜杠(/),

前提是VI编辑器在一般模式下,也就是需要刚刚进入VI命令或按"ESC"后的模式,光标会自动移动到编辑器下方的命令行,用户输入搜索的字符串,按下“Enter”开始搜索,VI编辑器可能用以下三种方式相应用户的搜索。

 

1、当满足搜索条件的字符串出现在当前光标位置后面时,VI编辑器将光标跳转到第一个满足搜索条件的位置。

 

2、当满足搜索条件的字符串出现在当前光标位置前面时,VI编辑器将跳转带从开头开始的第一个满足搜索条件       的位置

 

3、文件中不存在满足条件的字符串时,VI编辑器提示错误信息。

 

      下图1-1显示了VI编辑器的搜索功能,他是在/etc/services文件中搜索ssh字符串,VI编辑器下方出现斜杠(/),在斜杠后面输入待搜索的字符串。


Linux VI跟VIM命令搜索单词和替换单词图1-1,VI编辑器搜索功能

 

      VI编辑器替换功能命令的基本格式如下:

     

:s/old_string/new_string

    上述替换命令表示将第一次出现old_string替换成new_string,当然,可以在上述替换命令后面加上g 选项,表示将所有old_string替换成new_string,命令如下:

:s/old_string/new_string/g

    下图1-2显示了VI编辑的替换功能,该命令将所有的NEW替换成OLD

 


Linux VI跟VIM命令搜索单词和替换单词
 

图1-2

 

     下表是归纳了VI编辑器的搜索和替换命令。我们可以看到,VI编辑器在替换文本时还可以指定行号的范围。

命令 说明
/word 自当前光标位置向下搜索名字为word的字符串
?word 自当前光标位置向上搜索名字为word的字符串
:n 1,n 2 s/word1/word2/g 在n1行与n2行之间搜索名字为word1的字符串,并将其替换成word2
:1,$s/word1/word2/g 在第一行与最后一行之间搜索名字为word1的字符串,并将其替换成word2