editline(3)


NAME

   editline - command-line editing library with history

SYNOPSIS

   char *
   readline(prompt)
        char *prompt;

   void
   add_history(line)
       char  *line;

DESCRIPTION

   Editline is a library that provides an line-editing interface with text
   recall.  It is intended to be  compatible  with  the  readline  library
   provided  by  the Free Software Foundation, but much smaller.  The bulk
   of this manual page describes the user interface.

   The readline routine returns a line of text with the  trailing  newline
   removed.  The data is returned in a buffer allocated with malloc(3), so
   the space should be released with free(3) when the calling  program  is
   done  with  it.   Before  accepting  input from the user, the specified
   prompt is displayed on the terminal.

   The add_history routine makes a copy of the specified line and adds  it
   to the internal history list.

   User Interface
   A  program  that uses this library provides a simple emacs-like editing
   interface to its users.  A line may be edited before it is sent to  the
   calling   program   by  typing  either  control  characters  or  escape
   sequences.  A control character, shown as a caret followed by a letter,
   is typed by holding down the ``control'' key while the letter is typed.
   For example, ``^A'' is a control-A.  An escape sequence is  entered  by
   typing  the  ``escape''  key  followed  by one or more characters.  The
   escape key is abbreviated as ``ESC''.  Note that unlike  control  keys,
   case  matters  in  escape  sequences;  ``ESC F''  is  not  the  same as
   ``ESC f''.

   An editing command may be typed anywhere on the line, not just  at  the
   beginning.   In  addition,  a  return may also be typed anywhere on the
   line, not just at the end.

   Most editing commands may be given a repeat count,  n,  where  n  is  a
   number.   To enter a repeat count, type the escape key, the number, and
   then the command to execute.  For example, ``ESC 4 ^f''  moves  forward
   four  characters.   If  a  command may be given a repeat count then the
   text ``[n]'' is given at the end of its description.

   The following control characters are accepted:
          ^A       Move to the beginning of the line
          ^B       Move left (backwards) [n]
          ^D       Delete character [n]
          ^E       Move to end of line
          ^F       Move right (forwards) [n]
          ^G       Ring the bell
          ^H       Delete character before cursor (backspace key) [n]
          ^I       Complete filename (tab key); see below
          ^J       Done with line (return key)
          ^K       Kill to end of line (or column [n])
          ^L       Redisplay line
          ^M       Done with line (alternate return key)
          ^N       Get next line from history [n]
          ^P       Get previous line from history [n]
          ^R       Search backward (forward if [n]) through history for text;
                   prefixing the string with a caret (^) forces it to
                   match only at the beginning of a history line
          ^T       Transpose characters
          ^V       Insert next character, even if it is an edit command
          ^W       Wipe to the mark
          ^X^X     Exchange current location and mark
          ^Y       Yank back last killed text
          ^[       Start an escape sequence (escape key)
          ^]c      Move forward to next character ``c''
          ^?       Delete character before cursor (delete key) [n]

   The following escape sequences are provided.
          ESC ^H   Delete previous word (backspace key) [n]
          ESC DEL  Delete previous word (delete key) [n]
          ESC ESC  Show possible completions; see below
          ESC SP   Set the mark (space key); see ^X^X and ^Y above
          ESC .    Get the last (or [n]'th) word from previous line
          ESC ?    Show possible completions; see below
          ESC <    Move to start of history
          ESC >    Move to end of history
          ESC b    Move backward a word [n]
          ESC d    Delete word under cursor [n]
          ESC f    Move forward a word [n]
          ESC l    Make word lowercase [n]
          ESC m    Toggle if 8bit chars display as themselves or with
                   an ``M-'' prefix
          ESC u    Make word uppercase [n]
          ESC y    Yank back last killed text
          ESC w    Make area up to mark yankable
          ESC nn   Set repeat count to the number nn
          ESC C    Read from environment variable ``_C_'', where C is
                   an uppercase letter

   The editline library has a small  macro  facility.   If  you  type  the
   escape key followed by an uppercase letter, C, then the contents of the
   environment variable _C_ are read in as if you had typed  them  at  the
   keyboard.  For example, if the variable _L_ contains the following:
          ^A^Kecho '^V^[[H^V^[[2J'^M
   Then  typing ``ESC L'' will move to the beginning of the line, kill the
   entire line, enter the echo command needed to clear  the  terminal  (if
   your terminal is like a VT-100), and send the line back to the shell.

   The  editline  library also does filename completion.  Suppose the root
   directory has the following files in it:
          bin    vmunix
          core   vmunix.old
   If you type ``rm /v'' and then the tab key.  Editline will then  finish
   off  as  much of the name as possible by adding ``munix''.  Because the
   name is not unique, it will then beep.  If  you  type  the  escape  key
   followed  by  either a question mark or another escape, it will display
   the two choices.  If you then type a period and a tab, the library will
   finish off the filename for you:
          rm /v[TAB]munix.[TAB]old
   The tab key is shown by ``[TAB]'' and the automatically-entered text is
   shown in italics.

BUGS AND LIMITATIONS

   Cannot handle lines more than 80 columns.

AUTHORS

   Simmule R.  Turner  <uunet.uu.net!capitol!sysgo!simmy>  and  Rich  $alz
   <rsalz@osf.org>.    Original   manual   page   by  DaviD  W.  Sanderson
   <dws@ssec.wisc.edu>.

                                                               EDITLINE(3)





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.