除了行的第一个实例之外,如何删除所有已知的?
例如,我有
LOADING CONDITION : LIGHTSHIP CONDITION
Run Code Online (Sandbox Code Playgroud)
其中一些通过文件的内容传播开来.我想只保留第一个靠近顶部的实例.
想法有人吗?
您可以使用:global与范围组合的命令.
:0/LOADING CONDITION/+,$g//d
Run Code Online (Sandbox Code Playgroud)
说明:
[range]g/{pat}/{cmd}在给定行范围内{cmd}匹配的每一行上运行命令.{pat}[range]0/LOADING CONDITION/ 从第一行开始找到模式 LOADING CONDITION0/LOADING CONDITION/+1 在第一个实例下面开始范围1行+1+因为可以假设1,所以可以缩短.,$ 范围的结尾将是文件中被称为的最后一行 $g//使用最后一个搜索模式.在这种情况下,范围的模式:delete或:d简称是用于删除行的ex命令有关更多信息,请参阅
:h :g
:h :d
:h range
Run Code Online (Sandbox Code Playgroud)