为了账号安全,请及时绑定邮箱和手机立即绑定

vim整段删除或者替换

vim整段删除或者替换

萧十郎 2019-03-29 22:11:27
有一段这样的文本Asofinitscripts-2012.07.5,thedefaultformatof/etc/rc.confand/etc/crypttabhavechanged.Seetheirrespectivemanpagesformoredetails.--BEGIN--Thepurposeofthischangeistounifytheconfigurationofsystemdandinitscripts.Thiswillallowustosharecodeanddocumentation,andshouldmakemaintenanceofinitscriptssimplerinthelong-run.--END--Theoldformatisstillsupported,sooldconfigfilesshouldstillworkunchanged.希望能吧--BEGIN----END--之间的所有行都删除掉,vim有什么直接的方法吗?另外一个附加的问题,就是已经有--BEGIN--标志了,如何能添加一段内容。以上都是希望能脚本化的处理文本文件。只是一个例子,--BEGIN--,--END--之间的行数不确定手动标记这个,有点辛苦,实际文件不小,而且类似的结构比较多.
查看完整描述

2 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

:g/--BEGIN--/,/--END--/d
如果要同时删除前后的空行:g/--BEGIN--/-1,/--END--/+1d
                            
查看完整回答
反对 回复 2019-03-29
?
皈依舞

TA贡献1851条经验 获得超3个赞

vim可以做到,
在命令模式下:
%s/--BEGIN--\_.*--END--//g
其中的\_是关键,这个可以匹配多行。
已经有--BEGIN--标识如何替换,这个也可以用上面的替换思路来做
:%s/^--BEGIN--/&要替换的内容/g
                            
查看完整回答
反对 回复 2019-03-29
  • 2 回答
  • 0 关注
  • 383 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信