pico man page

pico — simple text editor in the style of the Alpine Composer


pico [ options ] [ file ]


Pico is a simple, display-oriented text editor based on the Alpine message system composer.  As with Alpine, 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.



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


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


Enable the option to Replace text matches found using the "Where is" command. This now does nothing. Instead, the option is always turned on (as if the -b flag had been specified).


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


Enable file name completion.


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


List valid command line options.


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


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.


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


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


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.


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

-s speller

Specify an alternate program spell to use when spell checking.


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.


View the file only, disallowing any editing.


Print Pico version and exit.


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


Disable keymenu at the bottom of the screen.


Enable ^Z suspension of pico.


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 "> ".

-W word_separators

If characters listed here appear in the middle of a word surrounded by alphanumeric characters that word is split into two words. This is used by the Forward and Backward word commands and by the spell checker.


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.


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


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".


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.


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


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

See Also

Source distribution (part of the Alpine Message System):

$Date: 2009-02-02 13:54:23 -0600 (Mon, 02 Feb 2009) $

Referenced By


Version 5.07