> Can you provide an example, i didn't understand the > search/replace thing.
I originally missed that you wanted to run *Linux shell* commands that were contained in the buffer. I mis-read that you wanted to run *Ex commands* contained in the buffer. My follow-up post using ":'<,'>!sh" and Gary's suggestion of ":'<,'>w !sh" work for the shell command processing. Though it's not what you asked for originally, I'll try to explain a little more what I was talking about: I frequently get batch-changes of "perform some Vim operation on any line matching some value" (whether substitution as above, or some other transformation). I take my data file (source.txt) and want to make the changes specified (in changes.txt). So I open both files, and in changes.txt, I execute something like one of these :%...@.*@:g/^&/sil! > " indent lines containing the item :%...@.*@:g/^&/d " delete lines contaning the item :%...@\(.*\)\t\(.*\)@:%s/\1/\2/g " change the values from column A " to the corresponding values " from column B With the resulting bunch of Ex commands in my changes.txt window, I yank them, switch over to my data.txt and then execute my grand list of commands with @" In my case, the changes.txt file usually has a stack of phone-numbers used to identify lines in data.txt and then there's some fixed transform I want to perform such as indenting the row (the 1st one), deleting the items (the 2nd one), or performing some substitution on those phones. >> If they don't have leading colons, then it may be fastest >> to just use blockwise visual-mode to add 'em. > > Can you provide example for blockwise visual mode? Using control+V (or, if you're one who has mswin.vim sourced, control+Q) highlight the left-hand margin of your Ex commands and press "I" (capital-eye) to enter insert mode. Type the missing colon, and then press <esc> which will prefix the colon along the left-hand margin of the formerly-selected block. This would transform a bunch of lines like abc def ghi into :abc :def :ghi Those resulting lines can then be executed by my above "yank it and execute it as a macro" method. Matt's alternative use of the ":@" Ex command is probably a better (less convoluted) way to go here, yanking the un-"colon"ed text and just using :@" instead. I've used that method maybe twice in the last 14 years, so it evades my memory when I'm reation for ideas. All that as a side footnote to your actual question which was hopefully answered in one of the earlier emails. :) -tim --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_use" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---