vim整段删除或者替换

有一段这样的文本
Asofinitscripts-2012.07.5,thedefaultformatof/etc/rc.confand
/etc/crypttabhavechanged.Seetheirrespectivemanpagesfor
moredetails.
--BEGIN--
Thepurposeofthischangeistounifytheconfigurationofsystemd
andinitscripts.Thiswillallowustosharecodeanddocumentation,
andshouldmakemaintenanceofinitscriptssimplerinthelong-run.
--END--
Theoldformatisstillsupported,sooldconfigfilesshouldstill
workunchanged.
希望能吧--BEGIN----END--之间的所有行都删除掉,vim有什么直接的方法吗?
另外一个附加的问题,就是已经有--BEGIN--标志了,如何能添加一段内容。
以上都是希望能脚本化的处理文本文件。
只是一个例子,--BEGIN--,--END--之间的行数不确定
手动标记这个,有点辛苦,实际文件不小,而且类似的结构
比较多.
杨魅力
浏览 884回答 2
2回答

元芳怎么了

:g/--BEGIN--/,/--END--/d如果要同时删除前后的空行:g/--BEGIN--/-1,/--END--/+1d

智慧大石

vim可以做到,在命令模式下:%s/--BEGIN--\_.*--END--//g其中的\_是关键,这个可以匹配多行。已经有--BEGIN--标识如何替换,这个也可以用上面的替换思路来做:%s/^--BEGIN--/&要替换的内容/g
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript