From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andreas Politz Newsgroups: gmane.emacs.help Subject: Re: how to browse data with many many columns Date: Mon, 22 Dec 2008 21:42:25 +0100 Organization: FH-Trier Message-ID: <1229978610.992305@arno.fh-trier.de> References: <21120962.post@talk.nabble.com> <1229939259.285615@arno.fh-trier.de> 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: ger.gmane.org 1229982044 5716 80.91.229.12 (22 Dec 2008 21:40:44 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Dec 2008 21:40:44 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Dec 22 22:41:50 2008 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 1LEsX6-0002uf-Ks for geh-help-gnu-emacs@m.gmane.org; Mon, 22 Dec 2008 22:41:49 +0100 Original-Received: from localhost ([127.0.0.1]:52449 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LEsVt-0000nL-VL for geh-help-gnu-emacs@m.gmane.org; Mon, 22 Dec 2008 16:40:33 -0500 Original-Path: news.stanford.edu!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!news-2.dfn.de!news.uni-stuttgart.de!news.belwue.de!news.uni-kl.de!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 88 Original-NNTP-Posting-Host: 143-93-54-11.arno.fh-trier.de Original-X-Trace: news.uni-kl.de 1229978661 13665 143.93.54.11 (22 Dec 2008 20:44:21 GMT) Original-X-Complaints-To: usenet@news.uni-kl.de Original-NNTP-Posting-Date: Mon, 22 Dec 2008 20:44:21 +0000 (UTC) User-Agent: Mozilla-Thunderbird 2.0.0.17 (X11/20081018) In-Reply-To: Cache-Post-Path: arno.fh-trier.de!unknown@dslb-088-069-049-236.pools.arcor-ip.net X-Cache: nntpcache 3.0.1 (see http://www.nntpcache.org/) Original-Xref: news.stanford.edu gnu.emacs.help:165575 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:60906 Archived-At: patiobarbecue wrote: > thanks, Andreas, it works pretty well. is it possible to out the code in > .emacs, or even bind it to a key? > (setq header-line-format > (buffer-substring 1 (line-end-position (goto-char 1)))) > so I don't need to type it in everytime. After all, it is a common task for > me to read tables. > > Sincerely Yours, > Michael > > Try this function, you can bind it like any other command. (defun buffer-line-as-header (&optional lnum) "Use line at linenumber LNUM as headerline, defaulting to the current line. With a non-numeric prefix arg (C-g), restore the default value of `header-line-format'. Otherwise the prefix arg determines the linenumber to use." (interactive "P") (let ((lnum (if (null lnum) (line-number-at-pos) (if (numberp lnum) lnum 0)))) (cond ((or (< lnum 0) (> lnum (line-number-at-pos (point-max)))) (error "No such linenumber : %d" lnum)) ((= 0 lnum) (setq header-line-format (default-value 'header-line-format))) (t (save-excursion (goto-line lnum) (setq header-line-format `(:eval (let ((line ,(buffer-substring (line-beginning-position) (line-end-position)))) (concat ;;acount for fringes, scroll-bar and scrolling (propertize " " 'display (list 'space :width (+ (fringe-columns 'left t) (scroll-bar-columns 'left)))) (substring line (min (1- (length line)) (window-hscroll)))))))))))) > Andreas Politz wrote: >> patiobarbecue wrote: >>> Dear there, >>> >>> I have data file with many columns. The first line has field names as >>> usual. >>> I am reading column 35 for example, CTRL+v will turn the page BUT focus >>> on >>> column 1, and I have to locate column 35 again -:) Is there a convenient >>> way? >> Indeed. >> >> ,----[ C-h f set-goal-column RET ] >> | set-goal-column is an interactive compiled Lisp function in `simple.el'. >> | It is bound to C-x C-n. >> | (set-goal-column ARG) >> | >> | Set the current horizontal position as a goal for C-n and C-p. >> | Those commands will move to this position in the line moved to >> | rather than trying to keep the same horizontal position. >> | With a non-nil argument, clears out the goal column >> | so that C-n and C-p resume vertical motion. >> | The goal column is stored in the variable `goal-column'. >> | >> `---- >> >> >>> Also is it possible to keep the first line (table field names) visible >>> while >>> browse line 200? >>> >> (setq header-line-format >> (buffer-substring 1 (line-end-position (goto-char 1)))) >> >> >> You need to eval this the buffers context (e.g. with M-:). >> >> >> -ap >>> Thanks for your reply in advance. >>> >>> Michael >> >