【Vim】查找与替换

前言

在日常编写代码的过程中,查找与替换的操作常常会用到。比如,方法内某个变量的名字需要重新命名、某些字符串内容需要更改等等。

虽然强大的 IDE 已经给我们提供了强大的 查找与替换 功能,但作为一个 Vim 重度使用者,可以用简洁的命令完成的事情,必须也安排上!

基本语法

:s(substitute)命令用来查找和替换字符串。语法如下:

:{作用范围}s/{目标}/{替换}/{替换标志}

例如 :%s/foo/bar/g 会在全局范围(%)查找 foo 并替换为 bar ,所有出现都会被替换(g)。

作用范围

作用范围分为当前行、全文、选区等等。

1、当前行:

:s/foo/bar/g

2、全文:

:%s/foo/bar/g

3、选区,在 Visual 模式下选择区域后输入 :,Vim 即可自动补全为 :'<,'>

:'<,'>s/foo/bar/g

4、某些行之间,如 2-11 行:

:2,11s/foo/bar/g

5、当前行 . 与接下来两行 +2

:.,+2s/foo/bar/g

替换标志符

上文中命令结尾的 g 即是替换标志之一,表示全局 global 替换(即替换目标的所有出现)。 还有很多其他有用的替换标志:

空替换标志表示只替换从光标位置开始,目标的第一次出现:

:%s/foo/bar

i 表示大小写不敏感查找,I 表示大小写敏感:

:%s/foo/bar/i
– 等效于模式中的\c(不敏感)或\C(敏感),如下,可以匹配到Foo \ FoO
:%s/foo\c/bar

c 表示需要确认,例如全局查找 "foo" 替换为 "bar" 并且需要确认:

:%s/foo/bar/gc

回车后 Vim 会将光标移动到每一次 “foo” 出现的位置,并提示

replace with bar (y/n/a/q/l/^E/^Y)?

按下 y 表示替换,n 表示不替换,a 表示替换所有,q 表示退出查找模式, l 表示替换当前位置并退出^E^Y 是光标移动快捷键。

结尾

非常简单实用的命令!

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...