目录

一.vim中查找相关的操作

二.vim中的替换相关操作


在一般的编辑器中都有查找和替换的功能,vim中也同样有。

一.vim中查找相关的操作

1.在普通模式中,按下/键并输入想要查找的字符串并回车,vim将从当前光标位置开始向下查找。如果找到,光标将跳转到第一个结果的位置。按n将跳转到下一个。

centos vim 寻找_vim

上图中输入"/01"光标将跳转到第一个01的位置,按n键后光标跳转到下一个01的位置,如下图:

centos vim 寻找_shell_02

2.如果要向上查找,需要在普通模式下,按Shift+/组合键 ,vim界面左下角会出现"?"符号,输入想要查找的字符串并回车,vim将从光标位置开始向上查找。

 

centos vim 寻找_shell_03

3.如果想直接查找某个单词,可以直接将光标移动到该单词上,然后按Shift+8组合键,vim将从当前位置向下查找该单词。如下:

centos vim 寻找_vim_04

4.当然也有向上查找单词的组合键 Shift+3。

vim打开文件默认进入的就是普通模式,以上的查找都在普通模式中进行。无论以上哪种查找方式,n键都是按照该方式查找下一个结果,Shift+n组合键按照该方式查找上一个结果。

二.vim中的替换相关操作

vim中替换文件内容在命令行模式中进行,按":"键即可进入命令行模式。

查找命令的格式如下:

:查找的范围s/要替换的内容/替换后的内容/g

 可以看到这个命令跟sed替换字符串的命令很相似。每一项应该怎么设置,请看下面:

  • 查找范围

就是指定哪个区域需要进行替换,可以是整个文件,也可以是某几行。如果只替换当前行,可以不写查找范围;如果范围为整个文件,写一个"%"就行;如果只需要替换某几行,可以写成用逗号分隔的两个数字,含义和sed中的类似。另外"$"符号代表文件最后一行,所以替换从第3行到最后一行的某个字符串可以写成"3,$"。

  • 要替换的内容

就是需要替换的字符串,这里可以使用正则表达式。

  • 替换后的内容

即目标字符串,如果为空,表示删除原来的字符串。

  •  g

表示替换掉每行所有要替换的字符串。不加g则只替换每行找到的第1个该字符串。

以下命令将1~3行所有的se替换为si

:1,3s/se/si/g

centos vim 寻找_linux_05

以下命令将整个文件中每行找到的第1个se替换为si

:%s/se/si/

centos vim 寻找_centos vim 寻找_06