一、vim 查找

1. 正向查找 / 与 反向查找 ?

2. 退出查找 <Esc>

3. 跳转到下一处匹配 n ,跳转到上一处匹配 N

4. /<CR> 正向跳转到相同模式的下一处匹配, ?<CR> 反向跳转至相同模式的上一处匹配

5. <Up>键浏览之前的查找记录,<Ctrl-p>查看上一条查找记录, <Ctrl-n>查看下一条查找记录

6. :noh 清除匹配结果的高亮

7. :%s///gn 统计当前模式的匹配个数

8. q/ 调出查找历史窗口

9. q: 调出命令行历史窗口

二、 vim替换

语法: [range]s[ubstitute]/{pattern}/{string}/[flags]

1. 替换域{string}  特殊字符:

\r 插入一个换行符

\t 插入一个制表符

\\ 插入一个反斜杠

\1 插入第一个子匹配

\0 插入匹配模式的所有内容

& 插入匹配模式的所有内容

~ 使用上一次调用substitute命令的{string}

\={vim script} 执行表达式,并将结果返回作为替换字符串

2. 查找范围 [range]

为空则表示当前行 :s/go/goes/

:%表示在文件所有行执行 :%s/go/goes/

:'<,'> 表示在可视模式下选中的行 :'<,'>s/go/goes/

3. 标志位 [flag]

g 表示在一整行上执行  :%s/go/goes/g

c 对替换操作进行确认  :%s/go/goes/gc

n 抑制正常的替换操作, 只显示匹配个数 :%s/go/goes/gn

e 屏蔽错误提示 :%s/go/goes/ge

4. 将替换操作分两步

第一步:通过/ 进行查找模式匹配

第二步:查找域留空则可以利用第一步的查找模式 :%s//goes/gc  或者利用<Ctrl-R>/ 将上一步的查找模式黏贴到查找域

5. 黏贴寄存器内容或者引用寄存器

:%s//<Ctrl-R>0/gc  黏贴复制专用寄存器内容到替换域

:%s//\=@0/gc 引用复制专用寄存器中的内容到替换域

6. 重复上一次的替换命令 g&

:%s//~/&   表示用同样的标志位、同样的替换字符串、同样的查找模式以及全文件范围内重复上一次的substitute命令

:&&  重复上一次命令只作用于当前行, 第一个&表示重复上次的:substitue 命令,第二个& 表示重用上一次:substitue命令的标志位

:%&& 重复上一次命令并作用于整个文件

:'<,'>&& 作用于高亮区域

g& 相当于 :%&&

7. 替换是执行vim脚本

:%s//\=submatch(0)-1/g    submatch(0) 获得当前匹配的内容

8. 在多个文件中执行替换操作

第一步:args **/*.txt  将要执行替换的文件加入参数列表

第二步:  set hidden   在不保存文件的情况下跳转到其他文件

第三步:argdo %s//goes/ge      利用 e标志位抑制找不到模式的情况下抛出错误

第四步:argdo update  在文件有改动的情况下执行保存

vim 查找与替换的更多相关文章

  1. Vim查找与替换命令大全,功能完爆IDE!

    Vi/Vim 可以说是文本编辑中的一代传奇人物,直至现在,它仍然在高级程序员的武器库中占有一席之地.每个 Linux 发行版默认都包含Vim ,而且即使你不是 Linux 系统用户,你也可以安装 Vi ...

  2. vim 查找和替换命令 替换/n和\n

    一. 字符串的查找 1. vim 中用 / 和 ? 来查找字符串,两者的区别是: /string 会高亮显示光标后匹配的第一个字符串,回车后光标移到该字符串的第一个字母: ?string 会高亮显示光 ...

  3. vim -- 查找和替换

    %s/foo/bar/g 在所有行中寻找‘foo’,并且用‘bar’替换 :s/foo/bar/g 在当前行寻找‘foo’,并且用‘foo’替换 :%s/foo/bar/gc 将每一个‘foo',并用 ...

  4. vim 查找并替换多个匹配字符

    通常我们在使用vim的使用需要查找文档中是否含有需要的字符 1.vim 1.txt进入文档编辑 2.输入/键,再输入需要查找的字符,或者输入?键再输入需要查找的字符 3.查找到后可以enter进去,再 ...

  5. vim 查找及替换

    #全文(%)查找(s)行首2个空格开头(/^ ), 替换(g)为无即删掉(//) :%s/^ //g #全文查找每行尾的2个空格,删除 :%s/ $//g

  6. Vim查找与替换

    \c 忽略大小写 \C 强制区分大小写 \v 除了_.字母.数字以为的所有字符都当做具有特殊含义的字符 \V 只有反斜杠有特殊含义 %s///gn 统计某个词出现的次数 替换的flag g 全局范围执 ...

  7. vim查找和替换

    https://www.cnblogs.com/huxinga/p/7942194.html %s/husband/丈夫/g

  8. 在VIM中进行快速的查找和替换

    VIM是被誉为非常高效的文本编辑软件.但是掌握并高效的使用是件有难度的事情.在VIM中进行快速的查找和替换是提高VIM使用效率的重要方法.下面是我在阅读VIM用户手册时整理的一些资料: 行内搜索. f ...

  9. VIM 技巧 (二)查找与替换

    今天和大家分享下  对于  vim 中 查找与替换方法 例如有一篇文章.中英文不限制. 用户如果想查找其中的文字或单词 在 win系统的Notepad中一般都时 ctrl + F 去查询 而在 vim ...

随机推荐

  1. 【转】Nodejs学习笔记(一)--- 简介及安装Node.js开发环境

    目录 学习资料 简介 安装Node.js npm简介 开发工具 Sublime Node.js开发环境配置 扩展:安装多版本管理器 学习资料 1.深入浅出Node.js http://www.info ...

  2. libc++abi.dylib`__cxa_throw: 使用[AVAudioPlayer play]会产生__cxa_throw异常

    libc++abi.dylib`__cxa_throw: 使用[AVAudioPlayer play]会产生__cxa_throw异常 开发中遇到一个奇怪的异常.我调用AVAudioPlayer pl ...

  3. 一个request,但是controller被执行了多次的问题

    原文发布时间为:2011-09-25 -- 来源于本人的百度文章 [由搬家工具导入] 这两天竟然被一个bug整疯了,因为项目调试的时候,通过 sql profiler 查看,竟然执行了多次的相同 查询 ...

  4. repeater做成gridview【更新删除编辑等】

    原文发布时间为:2009-06-14 -- 来源于本人的百度文章 [由搬家工具导入] 不多说,不会说。。看我做的范例。。。 http://download.csdn.net/source/138556 ...

  5. post sharp 与log4net 结合使用,含执行源码 转拷

    环境: VS 2012 PostSharp-4.1.28 (下载地址)https://visualstudiogallery.msdn.microsoft.com/a058d5d3-e654-43f8 ...

  6. Docker(三):Docker的基本概念

    Docker镜像: Docker镜像就是一个只读模板,例如,一个镜像可以包含Ubuntu操作系统环境,里面安装了Apache或用户需要的其它应用程序. 镜像可以用来创建Docker容器.Docker提 ...

  7. 【jetty】Jetty与Tomcat的区别

    Jetty 的架构从前面的分析可知,它的所有组件都是基于 Handler 来实现,当然它也支持 JMX.但是主要的功能扩展都可以用 Handler 来实现.可以说 Jetty 是面向 Handler ...

  8. Scrapy学习-25-Scrapyd部署spider

    Scrapyd部署爬虫项目 github项目  https://github.com/scrapy/scrapyd    官方文档  http://scrapyd.readthedocs.org/  ...

  9. 洛谷——P1785 漂亮的绝杀

    P1785 漂亮的绝杀 题目背景 话说absi2011的企鹅在和斗神塔第60层的Boss战斗 不好,这局要输了,企鹅还剩4血了Boss还有392呢,哇,漂亮——红缨枪连击,280,343(暴击),绝杀 ...

  10. Codeforces Round #490 (Div. 3)

    感觉现在\(div3\)的题目也不错啊? 或许是我变辣鸡了吧....... 代码戳这里 A. Mishka and Contes 从两边去掉所有\(≤k\)的数,统计剩余个数即可 B. Reversi ...