vi查找和替换文本命令

时间:2020-01-09 10:42:26  来源:igfitidea点击:

在UNIX/Linux/BSD或者Apple OS X操作系统下,如何使用vi或者vim文本编辑器查找和替换(替代)测试?

vi和vim文本编辑器都附带了替代命令,用于查找和替换文本。

语法

语法如下:

:%s/WORD-To-Find-HERE/Replace-Word-Here/g

或者

:%s/FindMe/ReplaceME/g

例子

可以根据您的要求使用替代命令。

VI/Vim Basic查找和替换

要查找每个出现的UNIX,并将其替换为Linux,请输入(按ESC,执行:和以下命令):

:%s/UNIX/Linux/g

查找并替换为确认

查找一个名为UNIX的单词并替换为Linux,但首先要求确认,执行:

:%s/UNIX/Linux/gc

仅查找和替换整个单词

查找与UNIX和Linux完全匹配的整个单词;并要求确认:

:%s/\<UNIX\>/Linux/gc

不区分大小写的查找和替换

查找UNIX(匹配UNIX,Unix,UnIx,Unix等)并替换为Linux:

:%s/unix/Linux/gi

带有确认的相同命令:

:%s/unix/Linux/gic

区分大小写的查找和替换

找到每个UNIX并替换为bar:

:%s/UNIX/bar/gI

带有确认的相同命令:

:%s/UNIX/bar/gIc

如何仅在当前行中替换?

查找UNIX并仅在当前行中将其替换为Linux(注意,%已从替代命令中删除):

:s/UNIX/Linux/g

注意:您需要在%replace命令前添加前缀以在所有行上进行更改:

:%s/UNIX/Linux/g

如何替换第100行和第250行之间的所有行?

:{START-n},{END-n}s/word1/word2/g

查找UNIX,并用Linux替换第100行和第250行之间的所有行,执行:

:100,200s/UNIX/Linux/g

或者

:100,200s/UNIX/Linux/gc