Invoking ex commands on a subset of files
I use sed a lot for modifications I need to make to a number of files, which is great, but as it happens relatively infrequently I need to remind myself how to do certain things as and when I come across them.
On the other hand, I use vim every day for my general editing, and am making increasingly heavy use of its command syntax to automate some of my editing tasks. As a result, I am probably more familiar with vim’s command syntax than sed.
Yesterday I had a simple problem to solve: for every file containing string SEARCH, I wanted to delete any line matching LINE. Here’s a couple of ways you could do it using sed:
|
|
The first is non-portable and works with BSD sed; for GNU sed you’d have to remove the “” after the -i. The second is a little more portable but requires a temporary file.
Just for kicks, though, I thought I’d do it in ex this time. Here’s how that looks:
|
Admittedly, for a simple task like this it’s probably pointless, but there have been times where I’ve repeated a command in vim over a series of files where this might come in ha
