more or less pager
On 06-Feb-04 David A. van Leeuwen wrote:
## Default pager
PAGER=${PAGER-'/usr/bin/less'}
But i think it really is because R-users apparently don't look at
dataframes with more than, say, 24 rows. I always seem to be
intetrested in column names with some rows of data, so often I type
> data[1,]
just to see what the columns were called again.
I don't think there's a way of getting long output from a raw command (which "data[1,]" is) to be paged in an interactive terminal (though I stand to be corrected and would be interested in the details if I am wrong). If the output is not too long, the scroll bar on the xterm running R (or Shift-PgUp/Shift-PgDn) will allow you to look at what has scrolled up off the screen.
In order to circumvent the problem of data running off the screen, I've
made a simple hack:
more <- function(x) {
...
}
which isn't the prettiest implementation of `tmpfile', but hey, it
allows my to type
> more(data)
Since [above] your default pager is 'less', you can do
page(data)
without defining a new function for it. See "?page". (Here, "data"
is no longer a "raw command" since it is wrapped in "page").
You may also be interested in the following, which I owe to helpful
people on the R list. In my ~/.Rprofile I have the following lines:
.xthelp <- function() {
tdir <- tempdir()
pgr <- paste(tdir, "/pgr", sep="")
con <- file(pgr, "w")
cat("#! /bin/bash\n", file=con)
cat("export HLPFIL=`mktemp ", tdir, "/R_hlp.XXXXXX`\n", sep="",
file=con)
cat("cat > $HLPFIL\nxterm -e less $HLPFIL &\n", file=con)
close(con)
system(paste("chmod 755 ", pgr, sep=""))
options(pager=pgr)
}
.xthelp()
rm(.xthelp)
After these have been read in and executed at R startup, the command
page(data)
will open a separate xterm window in which the output from "data"
will be displayed via 'less'. The same applies if you look up
something R-ish using the "?" help command and the "help.search"
command.
Hoping this helps,
Ted.
--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 167 1972
Date: 06-Feb-04 Time: 19:58:56
------------------------------ XFMail ------------------------------