vim-5 搜索命令和替换命令

本文介绍了Vim编辑器中的高效搜索与替换方法,包括如何使用/和?进行正向和反向搜索,如何利用n和N键快速定位匹配项,以及如何执行精确的替换操作。还介绍了如何在特定范围内或全文件范围内进行字符串替换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、搜索命令

vim的查找是从按下(/)那一刻开始的....

在普通模式下按下(/)也是进入命令行模式,此时该字符和光标均出现在屏幕的底部,这和冒号(:)一样。

紧挨着斜杠的是搜索目标,比如/yutao,说明你找的是yutao这个字符串在光标后边的第一次出现的位置,当然你也可以输入中文。

如果要找下一个目标?这时只需要按n键就可以定位到下一个符合的目标(向下查找),而按下N键是返回上一个(向上查找)。

注意:第一个搜索的目标不是文件中的第一个目标,而是从你的光标所在处开始找到的那个目标,所以如果想要搜索文件中的第一个匹配的目标,你应该先gg将光标移动到文件头,然后在/搜索。

在普通模式下按下问号(?)也是进入命令行模式,实现的也是搜索功能。不过这回它是反过来的,你可以认为它是斜杠的功能的“反面派”。


/目标?目标
搜索方向从光标开始向后从光标开始向前
n向后搜索下一个向前搜索下一个
N向前搜索下一个向后搜索下一个
当搜索到文件的末尾(/目标)或(?目标),页面下方会显示“Search hit BOTTOM,continuing at TOP”或“Search hit TOP,continuing at BOTTOM”的字样。表示一轮搜索到文件尾/头,搜索下一个就是从文件头/尾开始了。

 

vim会自动高亮所有匹配的目标,即使在你找到目标后,依然高亮。输入:nohl

最后提醒,在搜索命令中  . 、*、 [ 、 ]、 ^、 %、  /、 ?、 ~、 $这10个字符有着特殊意义,所以在使用这些字符的时候要在前面加上一个反斜杠(\),比如搜索问号,则输入/\?

2、替换命令

搜索在很多情况下都是为了替换。

通过搜索功能,将光标定位到目标位置,如果确定这个目标是需要替换的,可以输入:s/old/new,这样既可将光标所在行的第一个old替换为new;如果你输入的是:s/old/new/g,则表示将光标所在行的所有old替换为new。

但是如果需要替换整个文件的所有匹配字符串呢?vim有办法,输入:%s/old/new/g表示替换文件中每个匹配的字符串.

如果你没有太大的把握,希望vim在每次替换前问一下你,可以输入:%s/old/new/gc

看到页面下方的(y/n/a/q/l/^E/^Y)了吗?这是vim在询问您的意见。

●y表示替换

n表示不替换

a表示替换所有

q表示放弃替换

l表示替换第一个并进入插入模式

^E表示用Ctrl+e来滚动屏幕

^Y表示用Ctrl+y来滚动屏幕

好吧!如果你想问“如果我只替换第5行到第13行之间的所有xx,可以吗?”

当然可以,使用:5,13s/old/new/g即可达到要求:

图片中使用的是:6,9s/YUTAO/HUAWEI/g

其中6代表开始替换行号,13表示结束替换行号。


vim的功能还有很多......





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值