Vim查找替换

Vim查找替换1、查找/pattern:向下查找pattern匹配字符串?pattern:向上查找pattern匹配字符串使用了查找命令之后,使用如下两个键快速查找:n:按照同一方向继续查找N:按照反方向查找除此之外,pattern还可以使用一些特殊字符,包括(/、^、$、*、.),其中前三个这两个是vi与vim通用的,“/”为转义字符。在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。例如:/foo\c将会查找所有的”foo”,“FOO”,”Foo”等字符串1:/^abc

大家好,又见面了,我是你们的朋友全栈君。

1、查找

/pattern :向下查找pattern匹配字符串
?pattern:向上查找pattern匹配字符串

使用了查找命令之后,使用如下两个键快速查找:
n:按照同一方向继续查找
N:按照反方向查找

除此之外,pattern还可以使用一些特殊字符,包括(/、^、$、*、.),其中前三个这两个是vi与vim通用的,“/”为转义字符。

在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。例如:
/foo\c将会查找所有的”foo”,“FOO”,”Foo”等字符串

1: /^abc #查找以abc开始的行
2: /abc$ #查找以abc结束的行
3: //^abc #查找^abc字符串

2、查找与替换

:’<,’>s/foo/bar/g 选区,在Visual模式下选择区域后输入:,Vim即可自动补全为 :’<,’>。

命令用来查找和替换字符串。语法如下:
:{作用范围}s/{目标}/{替换}/{替换标志}

:%s/foo/bar目标的第一次出现将foo替换为bar
:%s/foo/bar/g会在全局范围(%)查找foo并替换为bar,所有出现都会被替换(global)
: s/foo/bar/g当前行将foo替换为bar
:%s/foo/bar/g全文行将foo替换为bar
:5,12s/foo/bar/g第5到12行将foo替换为bar
:.,+2s/foo/bar/g当前行.与接下来两行+2将foo替换为bar
:%s/foo/bar/i 表示大小写不敏感查找,I表示大小写敏感:
:%s/foo\c/bar等效于模式中的\c(不敏感)或\C(敏感)
:%s/foo/bar/gc 这里c表示需要确认,例如全局查找”foo”替换为”bar”并且需要确认
replace with bar (y/n/a/q/l/E/Y)? 回车后Vim会将光标移动到每一次”foo”出现的位置,并提示按下y表示替换,n表示不替换,a表示替换所有,q表示退出查找模式, l表示替换当前位置并退出。E与Y是光标移动快捷键,参考: Vim中如何快速进行光标移

1、 : s/vivian/sky/ #替换当前行第一个 vivian 为 sky
2、 : s/vivian/sky/g #替换当前行所有 vivian 为 sky
3、 :n,KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 19: …ivian/sky/ #̲替换第 n 行开始到最后一行中…s/vivian/sky/g #替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
(n 为数字,若 n 为 .,表示从当前行开始到最后一行)
5、 :%s/vivian/sky/ #(等同于:1,$s/vivian/sky/ :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

可以使用 #或+ 作为分隔符,此时中间出现的 / 不会作为分隔符
1、: s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/
2、:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/

1、 : s/str1/str2/ #用字符串 str2 替换行中首次出现的字符串 str1
2、 : s/str1/str2/g #用字符串 str2 替换行中所有出现的字符串 str1
3、 :.,$ s/str1/str2/g #用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
4、 :1,$ s/str1/str2/g #用字符串 str2 替换正文中所有出现的字符串 str1
5、 :g/str1/s//str2/g #功能同上

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148264.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 程序无法启动0xc0000005咋做_应用程序错误0xc0000005

    程序无法启动0xc0000005咋做_应用程序错误0xc0000005大家在使用电脑的时候有没有遇到过0xc0000005错误问题呢?很多朋友在打开应用程序的时候就弹出0xc0000005问题,找了半天都没找到正确解决方法。那就来瞧瞧小编整理了修复0xc0000005的方法吧。应用程序无法正常启动0xc0000005解决方法方法一:卸载最新更新或回滚驱动程序更新一些程序软件与系统不兼容会导致此现象,如果是新安装的应用程序或者驱动建议将其卸载。有时Windowsup…

    2022年10月3日
    0
  • 前端的浅拷贝和深拷贝区别_解构赋值是深拷贝还是浅拷贝

    前端的浅拷贝和深拷贝区别_解构赋值是深拷贝还是浅拷贝一、浅拷贝和深拷贝的区别数据都是存储在内存当中,而我们调用数据的时候都是通过地址来调用数据。对于浅拷贝来说,比如一个数组,只要我们修改了一个拷贝数组,那么原数组也会改变!vara=[0,1,2,3,4];varb=a;console.log(b);//[0,1,2,3,4]console.log(a);//[0,1,…

    2022年9月30日
    0
  • 微信公众平台开发接口_小程序注册好了为什么搜索不到

    微信公众平台开发接口_小程序注册好了为什么搜索不到在进行微信公众平台开发之前,需要先接入微信公众平台。具体的步骤在公众平台开发者文档-接入指南已有详细介绍,文档中也提供了验证服务器的PHP示例代码。本文主要提供了Node.js版本的验证代码,同时把步骤细化,让开发者更方便地了解整个接入过程,对初学者更友好。TL;DR在微信公众平台后台的开发者中心/填写服务器配置页面…

    2022年8月21日
    3
  • display属性值有哪些_验证控件display属性

    display属性值有哪些_验证控件display属性1、display:flex属性display:flex是一种布局方式。它即可以应用于容器中,也可以应用于行内元素。是W3C提出的一种新的方案,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持。Flex是FlexibleBox的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。设为Flex布局以后,子元素的float、clear和vertic…

    2022年10月24日
    0
  • pandas merge left_并集和交集的区别图解

    pandas merge left_并集和交集的区别图解取交集:print(pd.merge(df1,df2,on=[‘name’,’age’,’sex’]))取并集:print(pd.merge(df1,df2,on=[‘name’,’age’,’sex’],how=’outer’))

    2022年9月19日
    0
  • Nas性能测试工具-vdbench

    Nas性能测试工具-vdbench版本:vdbench50406简介:vdbench是一个I/O工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。配置参数:大文件设置深度为2,广度为10,每个文件夹下的文件数量为400,每个文件的大小为10M,采用10个线程并发,顺序选择文件,随机读写,DirectIO的形式处理1M的数据 …

    2022年5月12日
    288

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号