savehistory {utils} | R Documentation

## Load or Save or Display the Commands History

### Description

Load or save or display the commands history.

### Usage

    loadhistory(file = ".Rhistory")
    savehistory(file = ".Rhistory")

    history(max.show = 25, reverse = FALSE, pattern, ...)

    timestamp(stamp = date(),
              prefix = "##------ ", suffix = " ------##",
              quiet = FALSE)

### Arguments

`file` | The name of the file in which to save the history, or from which to load it. The path is relative to the current working directory.
`max.show` | The maximum number of lines to show. `Inf` will give all of the currently available history.
`reverse` | logical. If true, the lines are shown in reverse order. Note: this is not useful when there are continuation lines.
`pattern` | A character string to be matched against the lines of the history. When supplied, only unique matching lines are shown.
`...` | Arguments to be passed to `grep` when doing the matching.
`stamp` | A value or vector of values to be written into the history.
`prefix` | A prefix to apply to each line.
`suffix` | A suffix to apply to each line.
`quiet` | If `TRUE`, suppress printing timestamp to the console.

### Details

There are several history mechanisms available for the different R consoles, which work in similar but not identical ways. Notably, there are different implementations for Unix and Windows.

Windows:

  The functions described here work in `Rgui` and interactive `Rterm` but not in batch use of `Rterm` nor in embedded/DCOM versions.

Unix-alikes:

  The functions described here work under the `readline` command-line interface but may not otherwise (for example, in batch use or in an embedded application). Note that R can be built without `readline`.

  `R.app`, the console on macOS, has a separate and largely incompatible history mechanism, which by default uses a file ‘.Rapp.history’ and saves up to 250 entries. These functions are not currently implemented there.

The (`readline` on Unix-alikes) history mechanism is controlled by two environment variables: R_HISTSIZE controls the number of lines that are saved (default 512), and R_HISTFILE (default ‘.Rhistory’) sets the filename used for the loading/saving of history if requested at the beginning/end of a session (but not the default for `loadhistory`/`savehistory`). There is no limit on the number of lines of history retained during a session, so setting R_HISTSIZE to a large value has no penalty unless a large file is actually generated.

These environment variables are read at the time of saving, so can be altered within a session by the use of `Sys.setenv`.

On Unix-alikes: Note that `readline` history library saves files with permission `0600`, that is with read/write permission for the user and not even read permission for any other account.

The `timestamp` function writes a timestamp (or other message) into the history and echos it to the console. On platforms that do not support a history mechanism only the console message is printed.

### Note

If you want to save the history at the end of (almost) every interactive session (even those in which you do not save the workspace), you can put a call to `savehistory()` in `.Last`. See the examples.

### Examples

    ## Not run:
    ## Save the history in the home directory: note that it is not
    ## (by default) read from there but from the current directory
    .Last <- function()
        if(interactive()) try(savehistory("~/.Rhistory"))

    ## End(Not run)

[Package utils version 3.6.1 Index]