pico(1)

Name
pico - simple text editor in the style of the Pine Composer

Syntax
pico [ options ] [ file ]

Description
Pico is a simple, display-oriented text editor based on the Pine message system composer. As with Pine, commands are displayed at the bottom of the screen, and context-sensitive help is provided. As characters are typed they are immediately inserted into the text.

Editing commands are entered using control-key combinations. As a work-around for communications programs that swallow certain control characters, you can emulate a control key by pressing ESCAPE twice, followed by the desired control character, e.g. "ESC ESC c" would be equivalent to entering a ctrl-c. The editor has five basic features: paragraph justification, searching, block cut/paste, a spelling checker, and a file browser.

Paragraph justification (or filling) takes place in the paragraph that contains the cursor, or, if the cursor is between lines, in the paragraph immediately below. Paragraphs are delimited by blank lines, or by lines beginning with a space or tab. Unjustification can be done immediately after justification using the control-U key combination.

String searches are not sensitive to case. A search begins at the current cursor position and wraps around the end of the text. The most recent search string is offered as the default in subsequent searches.

Blocks of text can be moved, copied or deleted with creative use of the command for mark (ctrl-^), delete (ctrl-k) and undelete (ctrl-u). The delete command will remove text between the "mark" and the current cursor position, and place it in the "cut" buffer. The undelete command effects a "paste" at the current cursor position.

The spell checker examines all words in the text. It then offers, in turn, each misspelled word for correction while highlighting it in the text. Spell checking can be cancelled at any time. Alternatively, pico will substitute for the default spell checking routine a routine defined by the SPELL environment variable. The replacement routine should read standard input and write standard output.

The file browser is offered as an option in the "Read File" and "Write Out" command prompts. It is intended to help in searching for specific files and navigating directory hierarchies. Filenames with sizes and names of directories in the current working directory are presented for selection. The current working directory is displayed on the top line of the display while the list of available commands takes up the bottom two. Several basic file manipulation functions are supported: file renaming, copying, and deletion.

More specific help is available in pico's online help.

Options

+n  Causes pico to be started with the cursor located n lines into the file. (Note: no space between "+" sign and number)

-a  Display all files including those beginning with a period (.).

-b  Enable the option to Replace text matches found using the "Where is" command.

-d  Rebind the "delete" key so the character the cursor is on is rubbed out rather than the character to its left.

-e  Enable file name completion.

-f  Use function keys for commands. This option supported only in conjunction with UW Enhanced NCSA telnet.

-h  List valid command line options.

-j  Enable "Goto" command in the file browser. This enables the command to permit explicitly telling pilot which directory to visit.

-g  Enable "Show Cursor" mode in file browser. Cause cursor to be positioned before the current selection rather than placed at the lower left of the display.

-k  Causes "Cut Text" command to remove characters from the cursor position to the end of the line rather than remove the entire line.

-m  Enable mouse functionality. This only works when pico is run from within an X Window System "xterm" window.

-nn The -nn option enables new mail notification. The n argument is optional, and specifies how often, in seconds, your mailbox is checked for new mail. For example, -n60 causes pico to check for new mail once every minute. The default interval is 180 seconds, while the minimum allowed is 30. (Note: no space between "n" and the number)

-o dir
    Sets operating directory. Only files within this directory are accessible. Likewise, the file browser is limited to the specified directory subtree.

-rn Sets column used to limit the "Justify" command's right margin

-s speller
    Specify an alternate program spell to use when spell checking.

-t  Enable "tool" mode. Intended for when pico is used as the editor within other tools (e.g., Elm, Pnews). Pico will not prompt for save on exit, and will not rename the buffer during the "Write Out" command.

-v  View the file only, disallowing any editing.

-version
    Print Pico version and exit.

-w  Disable word wrap (thus allow editing of long lines).

-x  Disable keymenu at the bottom of the screen.

-z  Enable ^Z suspension of pico.

-p  Preserve the "start" and "stop" characters, typically Ctrl-Q and Ctrl-S, which are sometimes used in communications paths to control data flow between devices that operate at different speeds.

-Q quotestr
    Set the quote string. Especially useful when composing email, setting this allows the quote string to be checked for when Justifying paragraphs. A common quote string is "> ".

-q  Termcap or terminfo definition for input escape sequences are used in preference to sequences defined by default. This option is only available if pico was compiled with the TERMCAP_WINS define turned on.

-setlocale_ctype
    Do setlocale(LC_CTYPE) if available. Default is to not do this setlocale.

-no_setlocale_collate
    Do not do setlocale(LC_COLLATE). Default is to do this setlocale.

Lastly, when a running pico is disconnected (i.e., receives a SIGHUP), pico will save the current work if needed before exiting. Work is saved under the current filename with ".save" appended. If the current work is unnamed, it is saved under the filename "pico.save".

Bugs
The manner in which lines longer than the display width are dealt is not immediately obvious. Lines that continue beyond the edge of the display are indicated by a '$' character at the end of the line. Long lines are scrolled horizontally as the cursor moves through them.

Files
pico.save	Unnamed interrupted work saved here.
*.save	Interrupted work on a named file is saved here.

Authors
Michael Seibel <mikes@cac.washington.edu>
Laurence Lundblade <lgl@cac.washington.edu>
Pico was originally derived from MicroEmacs 3.6, by Dave G. Conroy.
Pico is a trademark of the University of Washington.
Copyright 1989-2005 by the University of Washington.

See Also
pine(1)
Source distribution (part of the Pine Message System):
   ftp://ftp.cac.washington.edu/mail/pine.tar.Z
$Date: 2005-04-28 11:28:33 -0700 (Thu, 28 Apr 2005) $