From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Marc Tfardy Newsgroups: gmane.emacs.help Subject: Re: Keep-only-column Date: Thu, 08 Feb 2007 22:55:27 +0100 Message-ID: <531k72F1qnjq5U3@mid.individual.net> References: <1170962128.311804.182850@v45g2000cwv.googlegroups.com> <1170962615.632938.25870@j27g2000cwj.googlegroups.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1170974424 31314 80.91.229.12 (8 Feb 2007 22:40:24 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 8 Feb 2007 22:40:24 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Feb 08 23:40:21 2007 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HFHwC-0001xU-KJ for geh-help-gnu-emacs@m.gmane.org; Thu, 08 Feb 2007 23:40:20 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HFHwC-0000DY-05 for geh-help-gnu-emacs@m.gmane.org; Thu, 08 Feb 2007 17:40:20 -0500 Original-Path: shelby.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 61 Original-X-Trace: individual.net 1JtoEP3Ltz1uxXfpInlR7Qx9Kj0zwe045JGLsxBxupmiEJqRJz User-Agent: Thunderbird 1.5 (X11/20051201) In-Reply-To: <1170962615.632938.25870@j27g2000cwj.googlegroups.com> Original-Xref: shelby.stanford.edu gnu.emacs.help:145377 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:40983 Archived-At: weber wrote: > On 8 fev, 16:15, "weber" wrote: >> hello again! >> 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)))))) HTH regards Marc