vim 查找与替换
一、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 查找与替换的更多相关文章
- Vim查找与替换命令大全,功能完爆IDE!
Vi/Vim 可以说是文本编辑中的一代传奇人物,直至现在,它仍然在高级程序员的武器库中占有一席之地.每个 Linux 发行版默认都包含Vim ,而且即使你不是 Linux 系统用户,你也可以安装 Vi ...
- vim 查找和替换命令 替换/n和\n
一. 字符串的查找 1. vim 中用 / 和 ? 来查找字符串,两者的区别是: /string 会高亮显示光标后匹配的第一个字符串,回车后光标移到该字符串的第一个字母: ?string 会高亮显示光 ...
- vim -- 查找和替换
%s/foo/bar/g 在所有行中寻找‘foo’,并且用‘bar’替换 :s/foo/bar/g 在当前行寻找‘foo’,并且用‘foo’替换 :%s/foo/bar/gc 将每一个‘foo',并用 ...
- vim 查找并替换多个匹配字符
通常我们在使用vim的使用需要查找文档中是否含有需要的字符 1.vim 1.txt进入文档编辑 2.输入/键,再输入需要查找的字符,或者输入?键再输入需要查找的字符 3.查找到后可以enter进去,再 ...
- vim 查找及替换
#全文(%)查找(s)行首2个空格开头(/^ ), 替换(g)为无即删掉(//) :%s/^ //g #全文查找每行尾的2个空格,删除 :%s/ $//g
- Vim查找与替换
\c 忽略大小写 \C 强制区分大小写 \v 除了_.字母.数字以为的所有字符都当做具有特殊含义的字符 \V 只有反斜杠有特殊含义 %s///gn 统计某个词出现的次数 替换的flag g 全局范围执 ...
- vim查找和替换
https://www.cnblogs.com/huxinga/p/7942194.html %s/husband/丈夫/g
- 在VIM中进行快速的查找和替换
VIM是被誉为非常高效的文本编辑软件.但是掌握并高效的使用是件有难度的事情.在VIM中进行快速的查找和替换是提高VIM使用效率的重要方法.下面是我在阅读VIM用户手册时整理的一些资料: 行内搜索. f ...
- VIM 技巧 (二)查找与替换
今天和大家分享下 对于 vim 中 查找与替换方法 例如有一篇文章.中英文不限制. 用户如果想查找其中的文字或单词 在 win系统的Notepad中一般都时 ctrl + F 去查询 而在 vim ...
随机推荐
- js 和 jquery的宽高
window 和 document : window 对象表示浏览器打开的窗口,可以省略 document对象(浏览器的html文档)是window对象的一部分 document.body等于wind ...
- Entity Framework context per request
原文发布时间为:2011-09-24 -- 来源于本人的百度文章 [由搬家工具导入] http://www.blog.cyberkinetx.com/2011/05/15/entity-framewo ...
- 利用GridView控件导出其他文件(导出Excel,导出Word文件)
原文发布时间为:2008-10-16 -- 来源于本人的百度文章 [由搬家工具导入] // 注意,在Visual Studio2005平台下,如果使用GridView导出文件, //就必须重 ...
- Berkely DB Java Edition学习笔记
Berkely DB对于高并发.要求速度快的应用来说是个不错的选择,mysql就是用BDB实现的(mysql的后台) ,mysql快,BDB比mysql还要快N倍.BDB是一种嵌入式的.非关系数据库, ...
- 谈谈JS中的原型
不知道大家对JS中的原型理解的怎么样,我想如果大家对JS中的原型对象以及prototype属性十分熟悉的话对后面原型链以及继承的理解会十分的容易,这里想和大家分享自己对其的理解,请先看下面这段代码O( ...
- NLP--edit distance
基本思想 通过插入(insert).删除(delete)和替换(substitute)个操作将一个字符串s1变换到另一个字符串s2的最少步骤数distacnce,用(1-distance/length ...
- Codeforces Round #451 (Div. 2) B. Proper Nutrition【枚举/扩展欧几里得/给你n问有没有两个非负整数x,y满足x·a + y·b = n】
B. Proper Nutrition time limit per test 1 second memory limit per test 256 megabytes input standard ...
- CVPR 2019|PoolNet:基于池化技术的显著性检测 论文解读
作者 | 文永亮 研究方向 | 目标检测.GAN 研究动机 这是一篇发表于CVPR2019的关于显著性目标检测的paper,在U型结构的特征网络中,高层富含语义特征捕获的位置信息在自底向上的传播过 ...
- 【强连通分量】 Kosaraju和Tarjan算法 (标准模板+详细注释)
codevs 题意:求最大强连通分量的大小以及所包含的顶点有哪些 Tarjan算法 #include<iostream> #include<queue> #include< ...
- codevs 1450 xth 的旅行
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 毕业了,Xth很高兴,因为他要和他的 ra ...