## Invoke a Text Editor

## Usage

    edit(name=NULL, file="", editor = "vi")
    vi(name=NULL, file="")
    emacs(name=NULL, file="")
    pico(name=NULL, file="")
    xemacs(name=NULL, file="")
    xedit(name=NULL, file="")

## Arguments

`name` | a named object that you want to edit. If name is missing then the file specified by `file` is opened for editing.
`file` | a string naming the file to write the edited version to.
`editor` | a string naming the text editor you want to use.

## Description

`edit` invokes the text editor specified by `editor` with the object `name` to be edited. `data.entry` can be used to edit data. It is important to realize that `edit` does not change the object called `name`. Instead, a copy of name is made and it is that copy which is changed. Should you want the changes to apply to the object `name` you must assign the result of `edit` to `name`. (Try `fix` if you want to make permanent changes to an object.)

In the form `edit(name)`, `edit` deparses `name` into a temporary file and invokes the editor `editor` on this file. Quiting from the editor causes `file` to be parsed and that value returned. Should an error occur in parsing, possibly due to incorrect syntax, no value is returned. Calling `edit()`, with no arguments, will result in the temporary file being reopened for further editing.

## See Also

`data.entry`, `fix`.

## Examples

    # use xedit on the function mean and assign the changes
    mean <- edit(mean, editor="xedit")

    # use vi on mean and write the result to file mean.out
    vi(mean, file="mean.out")

[Package Contents]