>> Quite frequently I paste stuff which is space-separated.
>> I would really like a function that would let me select a region and
>> keep only a column, deleting all the rest.
>> Anyone knows how I could implement something like this?
>> I can do it with regexps, but then I have to come up with a new one
>> every time...
>> TIA
>> HS
>
> I think the format of "stuff" can't be understood from above :) Here
> it is:
>
> variable BLABLA = 438438
> variable LABLAC = 312
> variable DAUSH = 43538
>
> Apply to that region: keep-only-column 2 makes it:
> BLABLA
> LABLAC
> DAUSHD
Here my draft. Probalby inefficient, but it does the job.
(defun trim-rectangle (start end)
"Trims region to rectangle."
(interactive "r")
(save-excursion
(let ((offset 0)
(width 0)
(lines (count-lines start end))
(i 0))
(goto-char start)
(beginning-of-line)
(setq offset (- start (point)))
(goto-char end)
(beginning-of-line)
(forward-char offset)
(setq width (- end (point)))
(goto-char start)
(while (< i lines)
(beginning-of-line)
(delete-region (point) (+ (point) offset))
(forward-char width)
(delete-region (point) (line-end-position))
(end-of-line)
(forward-char)
(setq i (+ i 1))))))