EDITLINE.3
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:7k
源码类别:

操作系统开发

开发平台:

C/C++

  1. EDITLINE(3)               Minix Programmer's Manual                EDITLINE(3)
  2. NAME
  3.      editline - command-line editing library with history
  4. SYNOPSIS
  5.      char *
  6.      readline(prompt)
  7.           char *prompt;
  8.      void
  9.      add_history(line)
  10.          char *line;
  11. DESCRIPTION
  12.      Editline is a library that provides an line-editing interface  with  text
  13.      recall.   It  is  intended  to  be  compatible  with the readline library
  14.      provided by the Free Software Foundation, but much smaller.  The bulk  of
  15.      this manual page describes the user interface.
  16.      The readline routine returns a line of text  with  the  trailing  newline
  17.      removed.   The  data is returned in a buffer allocated with malloc(3), so
  18.      the space should be released with free(3) when  the  calling  program  is
  19.      done with it.  Before accepting input from the user, the specified prompt
  20.      is displayed on the terminal.
  21.      The add_history routine makes a copy of the specified line and adds it to
  22.      the internal history list.
  23.   User Interface
  24.      A program that uses this library provides  a  simple  emacs-like  editing
  25.      interface  to  its  users.  A line may be edited before it is sent to the
  26.      calling program by typing either control characters or escape  sequences.
  27.      A  control  character, shown as a caret followed by a letter, is typed by
  28.      holding down the ``control'' key while the letter is typed.  For example,
  29.      ``^A''  is  a  control-A.   An  escape  sequence is entered by typing the
  30.      ``escape'' key followed by one or more characters.   The  escape  key  is
  31.      abbreviated  as  ``ESC.''  Note that unlike control keys, case matters in
  32.      escape sequences; ``ESC F'' is not the same as ``ESC f''.
  33.      An editing command may be typed anywhere on the line,  not  just  at  the
  34.      beginning.  In addition, a return may also be typed anywhere on the line,
  35.      not just at the end.
  36.      Most editing commands may be given a  repeat  count,  n,  where  n  is  a
  37.      number.   To  enter  a repeat count, type the escape key, the number, and
  38.      then the command to execute.  For  example,  ``ESC 4 ^f''  moves  forward
  39.      four  characters.  If a command may be given a repeat count then the text
  40.      ``[n]'' is given at the end of its description.
  41.                                                                              1
  42. EDITLINE(3)               Minix Programmer's Manual                EDITLINE(3)
  43.      The following control characters are accepted:
  44.           ^A       Move to the beginning of the line
  45.           ^B       Move left (backwards) [n]
  46.           ^D       Delete character [n]
  47.           ^E       Move to end of line
  48.           ^F       Move right (forwards) [n]
  49.           ^G       Ring the bell
  50.           ^H       Delete character before cursor (backspace key) [n]
  51.           ^I       Complete filename (tab key); see below
  52.           ^J       Done with line (return key)
  53.           ^K       Kill to end of line (or column [n])
  54.           ^L       Redisplay line
  55.           ^M       Done with line (alternate return key)
  56.           ^N       Get next line from history [n]
  57.           ^P       Get previous line from history [n]
  58.           ^R       Search backward (forward if [n]) through history for text;
  59.                    must start line if text begins with an uparrow
  60.           ^T       Transpose characters
  61.           ^V       Insert next character, even if it is an edit command
  62.           ^W       Wipe to the mark
  63.           ^X^X     Exchange current location and mark
  64.           ^Y       Yank back last killed text
  65.           ^[       Start an escape sequence (escape key)
  66.           ^]c      Move forward to next character ``c''
  67.           ^?       Delete character before cursor (delete key) [n]
  68.      The following escape sequences are provided.
  69.           ESC ^H   Delete previous word (backspace key) [n]
  70.           ESC DEL  Delete previous word (delete key) [n]
  71.           ESC SP   Set the mark (space key); see ^X^X and ^Y above
  72.           ESC .    Get the last (or [n]'th) word from previous line
  73.           ESC ?    Show possible completions; see below
  74.           ESC <    Move to start of history
  75.           ESC >    Move to end of history
  76.           ESC b    Move backward a word [n]
  77.           ESC d    Delete word under cursor [n]
  78.           ESC f    Move forward a word [n]
  79.           ESC l    Make word lowercase [n]
  80.           ESC m    Toggle if 8bit chars display normally or with ``M-'' prefix
  81.           ESC u    Make word uppercase [n]
  82.           ESC y    Yank back last killed text
  83.           ESC v    Show library version
  84.           ESC w    Make area up to mark yankable
  85.           ESC nn   Set repeat count to the number nn
  86.           ESC C    Read from environment variable ``_C_'', where C is
  87.                    an uppercase letter
  88.                                                                              2
  89. EDITLINE(3)               Minix Programmer's Manual                EDITLINE(3)
  90.      The editline library has a small macro facility.  If you type the  escape
  91.      key  followed  by  an  uppercase  letter,  C,  then  the  contents of the
  92.      environment variable _C_ are read in as if you  had  typed  them  at  the
  93.      keyboard.  For example, if the variable _L_ contains the following:
  94.           ^A^Kecho '^V^[[H^V^[[2J'^M
  95.      Then typing ``ESC L'' will move to the beginning of the  line,  kill  the
  96.      entire line, enter the echo command needed to clear the terminal (if your
  97.      terminal is like a VT-100), and send the line back to the shell.
  98.      The editline library also does filename  completion.   Suppose  the  root
  99.      directory has the following files in it:
  100.           bin    vmunix
  101.           core   vmunix.old
  102.      If you type ``rm /v'' and then the tab key.  Editline  will  then  finish
  103.      off  as  much  of  the name as possible by adding ``munix''.  Because the
  104.      name is not unique, it will then beep.  If you type the escape key and  a
  105.      question  mark,  it  will  display  the  two choices.  If you then type a
  106.      period and a tab, the library will finish off the filename for you:
  107.           rm /v[TAB]munix.TABold
  108.      The tab key is shown by ``[TAB]'' and the automatically-entered  text  is
  109.      shown in italics.
  110. BUGS AND LIMITATIONS
  111.      Cannot handle lines more than 80 columns.
  112. AUTHORS
  113.      Simmule  R.  Turner  <uunet.uu.net!capitol!sysgo!simmy>  and  Rich   $alz
  114.      <rsalz@osf.org>.    Original   manual   page   by   DaviD   W.  Sanderson
  115.      <dws@ssec.wisc.edu>.
  116.                                                                              3