Pico (text editor)

Last updated
Pico
Developer(s) University of Washington
Initial release1989
(35 years ago)
 (1989)
Written in C
Operating system Unix, Unix-like
Available inEnglish
Type Text editor
License Apache-2.0 (Alpine only)
Website alpineapp.email
www.washington.edu/pine/ at the Wayback Machine (archived March 28, 2019)

Pico (Pine composer) is a text editor for Unix and Unix-like computer systems. It is integrated with Pine and Alpine, email clients initially designed by the Office of Computing and Communications at the University of Washington. [1]

Contents

From the Pine FAQ: "Pine's message composition editor is also available as a separate stand-alone program, called PICO. PICO is a very simple and easy-to-use text editor offering paragraph justification, cut/paste, and a spelling checker...". [2]

Features

Pico does not support working with several files simultaneously and cannot perform a find and replace across multiple files. It also cannot copy partial text from one file to another (though it is possible to read text into the editor from a whole file in its working directory). Pico does support search and replace operations.

By comparison, some popular Unix text editors such as vi and Emacs provide a wider range of features than Pico; including regular expression search and replace, and working with multiple files at the same time. By comparison, Pico's simplicity makes it suitable for beginners. [3]

Basic commands and navigation

Pico features a number of commands for editing. Arrow keys move the cursor a character at the time in the direction of the movement. Inserting a character is done by pressing the corresponding character key in the keyboard, while giving commands (such as save, spell check, justify, search, etc.) is done using a control key.

The Ctrl+T command is used to spell check. The speller is defined from the command line using the -s option. When a person writes files in different languages, the speller can be set to be a script that interacts with the user to select the language to be checked.

The Ctrl+J command is used to left justify text. Text is flowed in each line of a paragraph up to a limit set with the -r option in the command line. If no limit is given in the command line, then a default value of 72 characters per line is used. This limit is used to wrap lines during composition, as well as to justify text. The Ctrl+J command justifies the text in the paragraph that the cursor is placed on. The command Ctrl+WCtrl+U is used to justify the full file. In case that justification is not done correctly, or by mistake, it can be undone by pressing the Ctrl+U command immediately after justification has been done.

The Ctrl+W command is used to search for text. Search is done case insensitively, The search and replace command is not available by default, but must be enabled through the -b option in the command line.

Moving inside the editor can be done using the keyboard by using the arrow keys. Keys such as Page Up, or Page Down, scroll the text up or down (towards the beginning or end of the file, respectively). The commands Ctrl+WCtrl+Y, and Ctrl+WCtrl+V move the cursor to the beginning or end of the file respectively, while the commands Ctrl+A and Ctrl+E move the cursor to the beginning and the end of the line that the cursor is located on.

Derivatives

A clone of Pico called nano, which is part of the GNU Project, [4] was developed because Pico's earlier license had unclear redistribution terms. [5] Newer versions of Pico as part of Alpine are released under the Apache License version 2.0.

See also

Related Research Articles

The editor war is the rivalry between users of the Emacs and vi text editors. The rivalry has become an enduring part of hacker culture and the free software community.

<span class="mw-page-title-main">GNU nano</span> Text editor for Unix-like computing systems

GNU nano is a text editor for Unix-like computing systems or operating environments using a command line interface. It emulates the Pico text editor, part of the Pine email client, and also provides additional functionality. Unlike Pico, nano is licensed under the GNU General Public License (GPL). Released as free software by Chris Allegretta in 1999, nano became part of the GNU Project in 2001. The logo resembles the lowercase form of the Greek letter Eta (η).

sed Standard UNIX utility for editing streams of data

sed is a Unix utility that parses and transforms text, using a simple, compact programming language. It was developed from 1973 to 1974 by Lee E. McMahon of Bell Labs, and is available today for most operating systems. sed was based on the scripting features of the interactive editor ed and the earlier qed. It was one of the earliest tools to support regular expressions, and remains in use for text processing, most notably with the substitution command. Popular alternative tools for plaintext string manipulation and "stream editing" include AWK and Perl.

<span class="mw-page-title-main">Text editor</span> Computer software used to edit plain text documents

A text editor is a type of computer program that edits plain text. An example of such program is "notepad" software. Text editors are provided with operating systems and software development packages, and can be used to change files such as configuration files, documentation files and programming language source code.

<span class="mw-page-title-main">WordStar</span> Word processor application

WordStar is a discontinued word processor application for microcomputers. It was published by MicroPro International and originally written for the CP/M-80 operating system, with later editions added for MS-DOS and other 16-bit PC OSes. Rob Barnaby was the sole author of the early versions of the program.

<span class="mw-page-title-main">Pine (email client)</span> Email and newsgroups client

Pine is a freeware, text-based email client which was developed at the University of Washington. The first version was written in 1989, and announced to the public in March 1992. Source code was available for only the Unix version under a license written by the University of Washington. Pine is no longer under development, and has been replaced by the Alpine client, which is available under the Apache License.

In computing, the utility diff is a data comparison tool that computes and displays the differences between the contents of files. Unlike edit distance notions used for other purposes, diff is line-oriented rather than character-oriented, but it is like Levenshtein distance in that it tries to determine the smallest set of deletions and insertions to create one file from the other. The utility displays the changes in one of several standard formats, such that both humans or computers can parse the changes, and use them for patching.

Cut, copy, and paste are essential commands of modern human–computer interaction and user interface design. They offer an interprocess communication technique for transferring data through a computer's user interface. The cut command removes the selected data from its original position, and the copy command creates a duplicate; in both cases the selected data is kept in temporary storage called the clipboard. Clipboard data is later inserted wherever a paste command is issued. The data remains available to any application supporting the feature, thus allowing easy data transfer between applications.

<span class="mw-page-title-main">Control key</span> Key on computer keyboards

In computing, a Control keyCtrl is a modifier key which, when pressed in conjunction with another key, performs a special operation. Similarly to the Shift key, the Control key rarely performs any function when pressed by itself. The Control key is located on or near the bottom left side of most keyboards, with many featuring an additional one at the bottom right.

<span class="mw-page-title-main">Newline</span> Special characters in computing signifying the end of a line of text

A newline is a control character or sequence of control characters in character encoding specifications such as ASCII, EBCDIC, Unicode, etc. This character, or a sequence of characters, is used to signify the end of a line of text and the start of a new one.

<span class="mw-page-title-main">Tab key</span> Key on a keyboard for tabulation

The tab keyTab ↹ on a keyboard is used to advance the cursor to the next tab stop.

<span class="mw-page-title-main">Text-based user interface</span> Type of interface based on outputting to or controlling a text display

In computing, text-based user interfaces (TUI), is a retronym describing a type of user interface (UI) common as an early form of human–computer interaction, before the advent of bitmapped displays and modern conventional graphical user interfaces (GUIs). Like modern GUIs, they can use the entire screen area and may accept mouse and other inputs. They may also use color and often structure the display using box-drawing characters such as ┌ and ╣. The modern context of use is usually a terminal emulator.

This article provides basic comparisons for notable text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.

GNU Readline is a software library that provides in-line editing and history capabilities for interactive programs with a command-line interface, such as Bash. It is currently maintained by Chet Ramey as part of the GNU Project.

<span class="mw-page-title-main">Joe's Own Editor</span>

JOE or Joe's Own Editor is an ncurses-based text editor for Unix systems, available under the GPL. It is designed to be easy to use.

<span class="mw-page-title-main">MicroEMACS</span> MicroEMACS is a small text editor program from the EMACS family

MicroEMACS is a small, portable Emacs-like text editor originally written by Dave Conroy in 1985, and further developed by Daniel M. Lawrence (1958–2010) and was maintained by him. MicroEMACS has been ported to many operating systems, including CP/M, MS-DOS, Microsoft Windows, VMS, Atari ST, AmigaOS, OS-9, NeXTSTEP, and various Unix-like operating systems.

Control-Y is a common computer command. It is generated by holding Ctrl and pressing the Y key on most computer keyboards.

<span class="mw-page-title-main">Alpine (email client)</span> Email client

Alpine is a free software email client developed at the University of Washington.

ne (text editor) Text editor for POSIX operating systems

ne is a console text editor for POSIX computer operating systems such as Linux or Mac OS X. It uses the terminfo library, but it can also be compiled using a bundled copy of the GNU termcap implementation. There is also a Cygwin version. It was developed by Sebastiano Vigna of the University of Milan.

Emacs, originally named EMACS, is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, self-documenting, real-time display editor". Development of the first Emacs began in the mid-1970s, and work on GNU Emacs, directly descended from the original, is ongoing; its latest version is 29.4 , released June 2024.

References

  1. "Pine Project History". University of Washington . January 4, 2002. Archived from the original on December 25, 2018. Retrieved December 23, 2018.
  2. "2.2 What is PICO?". University of Washington . January 29, 2002. Archived from the original on August 5, 2018. Retrieved December 23, 2018.
  3. "PICO - the PIne COmposer - a simple editor". Guckes.net. Archived from the original on October 9, 2018. Retrieved December 23, 2018.
  4. "[Nano-devel] nano to remain in GNU". GNU Project . August 19, 2016. Archived from the original on August 4, 2017. Retrieved December 23, 2018.
  5. "GNU nano -- an enhanced clone of the Pico text editor". GNU nano . Archived from the original on December 24, 2018. Retrieved December 23, 2018.