摘要:在那些包含模式的行上,将把替换为。最后的表示在该行上进行全部替换。如果用来进行搜索的模式与想要修改的模式相同,那么就不必重复它等价于还要注意也等价于可以用第二种方式少输一些字符参考的全局替换
本文约定:替换命令的基本语法
$ + 命令 表示在普通的bash的命令行下
: + 命令 表示在vim的ex(命令)模式, 按"Ctrl" + ":" 进入
:s + / + 被替换的内容 + / + 替换的内容 ( + 分隔符 + 模式 ) (其中:s(s表示switch,替换))
当前中模式old的第一次出现修改为new:s / old / new / (当斜杆为该行的最后一个字符时,可不写)
当前行old的每次出现改为new:s / old / new / g
:s命令允许替换串后面带有选项,g选项影响一行中的每个模式,不要把它与影响文件中所有行的:g命令混淆
通过在:s命令前加上地址前缀,可以把它的范围扩展到多行。例如下面命令把50行到100行的old的每次出现都改为new:
:50, 100 s / old / new / g
特别的,从第一行到最后一行的多行即为整个文件
两种方式
:1, $s / old / new / g
我们知道%等价于1,$,所以上行命令也可以这样写:
:% s / old / new / g
在替换命令尾部加上c (confirm用于确认),在替换每个old前都会提示并确认:
:1, 30 s /old/new/ gc
将会出现提示replace with hehe (y/n/a/q/l/^E/^Y)?
y替换,n不替换,a替换所有,q放弃,l替换第一个并进入插入模式,^E和^Y是提示你用Ctrl+e或Ctrl+y来滚动屏幕的。
正则替换,匹配字符串可以使用正则,懒得看就用这个:s/pattern/new/,其它参数和前文一致
更具体的来说(其实没什么用)
语法格式如下(:g(global全局)):
:g /pattern/s/old/new/g 将会把包含pattern的行中,把所有old替换为new
第一个g表示是在文件的所有行上执行的命令,模式pattern识别要发生替换的行。在那些包含模式pattern的行上,ex将把old替换(s)为new。最后的g表示在该行上进行全部替换。
如果用来进行搜索的模式与想要修改的模式相同,那么就不必重复它:
:g/string/s//new/g 等价于 :g/string/s/string/new/g
还要注意:
:g/string/s//new/g 也等价于 :% s/string/new/g
可以用第二种方式少输一些字符
vim的全局替换
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/25098.html
摘要:本文将以此为起点,介绍一些替换小技巧。实话实说,使用命令来替换有违于大多数程序员的习惯。接下更进一步,教多几个小技巧。这么一来,替换将仅在当前大括号内生效。在替换局部变量时,比起全局替换,这样的替换方式无疑会更高效。 想必用过Vim的人都知道,在Vim里面,以下命令可以替换当前文件的内容: :[range]s/{要被替换的模式}/{替换的内容}/[flags] 其中range指定替换命...
摘要:问题复现拿到的文档中包含了大量的等字符,形如历史账单看起来乱糟糟的,很不直观。遵循这样的格式要正则匹配的部分要替换成的部分参考资料下使用替换文件中的换行符查找和替换命令替换和回车与换行的区别 问题复现 拿到的文档中包含了大量的 、 、 等字符,形如: 历史账单 ...
摘要:年底了,故事总是会有很多。因其轻便,扩展性,可定制化,一直很受开发者追捧。高阶大神,袖中必有深藏。本文仅对常用的一些命令做了汇总,的玩法还有很多。参考文档和的区别常用命令总结使用进阶作者以乐之名本文原创,有不当的地方欢迎指出。 年底了,故事总是会有很多。 showImg(https://segmentfault.com/img/bVblBht?w=500&h=400); 刚了一波通宵加...
摘要:如果批量就更麻烦。不过这样设置会导致每次用鼠标选择一段文本都会自动进入模式,这样的话我们就没法复制到系统剪切板了。这时候,需要按住键然后再用鼠标选择文本,这样一来就不会启动模式,且可以复制到剪切板。鼠标支持问题高版本默认是支持鼠标滚动的。 Leader键 参考:http://learnvimscriptthehardw... Vim的默认Leader前缀是键。说白了,就是一个快捷命令的...
阅读 901·2021-11-22 12:09
阅读 3685·2021-09-27 13:36
阅读 1374·2021-08-20 09:37
阅读 3913·2019-12-27 12:22
阅读 2327·2019-08-30 15:55
阅读 2295·2019-08-30 13:16
阅读 2797·2019-08-26 17:06
阅读 3417·2019-08-23 18:32