Hi Bakul, Regarding vi: > As an example, you can map a key to do a sequence of operations but > you you can’t then use it in conjunction with search to repeat them > over a range of lines. You can use tail recursion in the macro because a failed search causes it to stop. So `qqq' to start recording to register `q', and then instantly stop recording, clearing it. Then the real definition, ending in an execution of the empty `q'. qq/4$^Ma2^[@qq And finally an `@q' to kick off the recursion. -- Cheers, Ralph. https://plus.google.com/+RalphCorderoy