Hi Kunal! On Di, 13 Apr 2010, Kunal Bajpai wrote:
> Here is what I want to achieve: > > I have to insert a text after every 3 line a string. > > e.g. > Original Text - > Line01some-text some-text some-text some-text some-text > Line02some-text some-text some-text some-text some-text > Line03some-text some-text some-text some-text some-text > Line04some-text some-text some-text some-text some-text > Line05some-text some-text some-text some-text some-text > Line06some-text some-text some-text some-text some-text > Line07some-text some-text some-text some-text some-text > Line08some-text some-text some-text some-text some-text > Line09some-text some-text some-text some-text some-text > Line10some-text some-text some-text some-text some-text > Line11some-text some-text some-text some-text some-text > Line12some-text some-text some-text some-text some-text > > Edited Text - > > Line01some-text some-text some-text some-text some-text > Line02some-text some-text some-text some-text some-text > Line03some-text some-text some-text some-text some-text > <inserted-text> > Line04some-text some-text some-text some-text some-text > Line05some-text some-text some-text some-text some-text > Line06some-text some-text some-text some-text some-text > <inserted-text> > Line07some-text some-text some-text some-text some-text > Line08some-text some-text some-text some-text some-text > Line09some-text some-text some-text some-text some-text > <inserted-text> > Line10some-text some-text some-text some-text some-text > Line11some-text some-text some-text some-text some-text > Line12some-text some-text some-text some-text some-text > <inserted-text> > > I hope that you got the problem I am not sure about a native vim solution (but see further down). I think the easiest solution would be to use sed? (or filter throught sed) like this: #v+ chris...@t41:~/sed$ seq 1 10|sed '0~3a\ > <inserted-text>' 1 2 3 <inserted-text> 4 5 6 <inserted-text> 7 8 9 <inserted-text> 10 #v- or from within vim filtering the (selected) text: :%!sed "0~3a<inserted text>" (this is Gnuish, I am not sure how to get the line break right). A native Vim solution, could work like this: :%s/^/\=(!(line('.')%4)?"\n":'') which means check for every line whether it is the fourth. If it is, replace this line start with a line break (thus entering a linebreak after every 3 third line ?) Gnu sed at least allows this. I am not sure about other seds. regards, Christian -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php To unsubscribe, reply using "remove me" as the subject.