cjosta@taux01.UUCP (Jon Sweedler) (07/03/88)
Is there any way to move a block of text in vi? When I say block, I mean a rectangle of text. For example: what EVER is in upper CASe in this senteNCE is part of a BLOCk of text and wHATEver is in lower CASe is not part OF The block. So the block starts in column 6 and continues to column 9. I would like to be able to pick up the block and insert or overlay it in another position. Thanks in advance.
wyle@solaris.UUCP (Mitchell Wyle) (07/06/88)
In article <803@taux01.UUCP> cjosta@taux01.UUCP (Jon Sweedler) writes: >Is there any way to move a block of text in vi? When I say block, I >mean a rectangle of text. For example: > >what EVER is in >upper CASe in this >senteNCE is part >of a BLOCk of text >and wHATEver is in >lower CASe is not >part OF The block. > >So the block starts in column 6 and continues to column 9. I would >like to be able to pick up the block and insert or overlay it in >another position. Thanks in advance. Try: :map ;x 5l"By5l0j Then try typing ;x 7 times. The buffer b should contain your upper case text. (To put it somewhere, type "bp) I don't know if that's what you want. I often have similar tasks, do them manually a few times while watching my key-strokes, then write a quick :map macro to automate them. For those of us who don't think in mock-lisp ;-) , I suspect my strategy is good for quick editor macros. The best resource on vi(1) is Dan Smith at Island Graphics. He probably has a better, more elegant vi macro to accomplish your task which he uses all the time. Right Dan? -- -Mitchell F. Wyle wyle@ethz.uucp Institut fuer Informatik wyle%ifi.ethz.ch@relay.cs.net ETH Zentrum 8092 Zuerich, Switzerland +41 1 256-5237