how to browse data with many many columns

3 views
Skip to first unread message

patiobarbecue

unread,
Dec 21, 2008, 7:18:01 PM12/21/08
to Help-gn...@gnu.org

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?
Also is it possible to keep the first line (table field names) visible while
browse line 200?

Thanks for your reply in advance.

Michael
--
View this message in context: http://www.nabble.com/how-to-browse--data-with-many-many-columns-tp21120962p21120962.html
Sent from the Emacs - Help mailing list archive at Nabble.com.

Bernardo Bacic

unread,
Dec 22, 2008, 4:10:31 AM12/22/08
to Help-gn...@gnu.org
it was a dark and stormy night when patiobarbecue said,

> 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?
> Also is it possible to keep the first line (table field names) visible while
> browse line 200?
>
> Thanks for your reply in advance.
>
> Michael


you may want to give a try to this http://user.it.uu.se/~mic/pager.el


Andreas Politz

unread,
Dec 22, 2008, 4:46:33 AM12/22/08
to
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

patiobarbecue

unread,
Dec 22, 2008, 9:50:24 AM12/22/08
to Help-gn...@gnu.org

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

--
View this message in context: http://www.nabble.com/how-to-browse--data-with-many-many-columns-tp21120962p21129072.html

Andreas Politz

unread,
Dec 22, 2008, 3:42:25 PM12/22/08
to
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))))))))))))

Reply all
Reply to author
Forward
0 new messages