MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Standards, Environments, and Macros                      tecla(5)



NAME
     tecla, teclarc  -  User  interface  provided  by  the  tecla
     library.

DESCRIPTION
     This man page describes the  command-line  editing  features
     that  are  available to users of programs that read keyboard
     input via the tecla library. Users of the  tcsh  shell  will
     find  the  default  key bindings very familiar. Users of the
     bash shell will also find it quite familiar, but with a  few
     minor  differences, most notably in how forward and backward
     searches through the list of historical  commands  are  per-
     formed.  There  are two major editing modes, one with emacs-
     like key bindings and another with vi-like key bindings.  By
     default  emacs  mode is enabled, but vi(1) mode can alterna-
     tively be selected via the user's configuration  file.  This
     file  can  also be used to change the bindings of individual
     keys to suit the user's preferences. By default, tab comple-
     tion  is  provided.  If  the application hasn't reconfigured
     this to complete other types of symbols, then tab completion
     completes file names.

  Key Sequence Notation
     In the rest of this man page, and also in all  tecla  confi-
     guration files, key sequences are expressed as follows.

     ^A or C-a    This is a 'CONTROL-A', entered by pressing  the
                  CONTROL key at the same time as the 'A' key.


     E or M-      In key sequences, both of these  notations  can
                  be  entered  either by pressing the ESCAPE key,
                  then the following key, or by pressing the META
                  key at the same time as the following key. Thus
                  the key sequence M-p can be typed in two  ways,
                  by  pressing the ESCAPE key, followed by press-
                  ing 'P', or by pressing the  META  key  at  the
                  same time as 'P'.


     up           This refers to the up-arrow key.


     down         This refers to the down-arrow key.


     left         This refers to the left-arrow key.


     right        This refers to the right-arrow key.





SunOS 5.11          Last change: 20 May 2004                    1






Standards, Environments, and Macros                      tecla(5)



     a            This is just a normal 'A' key.


  The Tecla Configuration File
     By default, tecla looks for a file called .teclarc  in  your
     home  directory  (ie. ~/.teclarc). If it finds this file, it
     reads it, interpreting each line as defining a new key bind-
     ing  or  an  editing  configuration  option. Since the emacs
     key-bindings are installed by default, if you  want  to  use
     the  non-default vi editing mode, the most important item to
     go in this file is the following line:

       edit-mode vi



     This will re-configure the default bindings for vi-mode. The
     complete set of arguments that this command accepts are:

     vi       Install key bindings like those of the vi editor.


     emacs    Install key bindings like those of the  emacs  edi-
              tor. This is the default.


     none     Use just the native line  editing  facilities  pro-
              vided by the terminal driver.



     To prevent the terminal bell from being rung, such  as  when
     an unrecognized control-sequence is typed, place the follow-
     ing line in the configuration file:

       nobeep



     An example of a key binding line in the  configuration  file
     is the following.

       bind M-[2~ insert-mode



     On many keyboards, the above key sequence is generated  when
     one  presses  the  insert key, so with this key binding, one
     can toggle between the emacs-mode insert and overwrite modes
     by  hitting  one key. One could also do it by typing out the
     above sequence of characters one by one. As explained above,
     the M- part of this sequence can be typed either by pressing



SunOS 5.11          Last change: 20 May 2004                    2






Standards, Environments, and Macros                      tecla(5)



     the ESCAPE key before the following key, or by pressing  the
     META  key at the same time as the following key. Thus if you
     had set the above key binding, and the insert  key  on  your
     keyboard  didn't  generate the above key sequence, you could
     still type it in either of the following 2 ways.

         1.   Hit the ESCAPE key  momentarily,  then  press  '[',
              then '2', then finally '~'.

         2.   Press the META key at the same time as pressing the
              '[' key, then press '2', then '~'.


     If you set a key binding for a key sequence that is  already
     bound  to a function, the new binding overrides the old one.
     If in the new binding you omit the name of the new  function
     to  bind  to  the key sequence, the original binding becomes
     undefined.


     Starting with versions of libtecla later than  1.3.3  it  is
     now  possible to bind key sequences that begin with a print-
     able character. Previously key sequences  were  required  to
     start with a CONTROL or META character.


     Note that the special keywords  "up",  "down",  "left",  and
     "right" refer to the arrow keys, and are thus not treated as
     key sequences. So, for example, to rebind the  up  and  down
     arrow  keys  to  use the history search mechanism instead of
     the simple history recall method, you could place  the  fol-
     lowing in your configuration file:

       bind up history-search-backwards
       bind down history-search-backwards



     To unbind an existing binding, you can do this with the bind
     command  by  omitting  to  name any action to rebind the key
     sequence to. For example, by not specifying an action  func-
     tion,  the  following command unbinds the default beginning-
     of-line action from the ^A key sequence:

       bind ^A



     If you  create  a  ~/.teclarc  configuration  file,  but  it
     appears to have no effect on the program, check the documen-
     tation of the program to see if the author chose a different
     name for this file.



SunOS 5.11          Last change: 20 May 2004                    3






Standards, Environments, and Macros                      tecla(5)



  Filename and Tilde Completion
     With the default key bindings, pressing the  TAB  key  (aka.
     ^I)  results  in tecla attempting to complete the incomplete
     file name that precedes the cursor. Tecla searches backwards
     from  the  cursor,  looking  for the start of the file name,
     stopping when it hits either a space or  the  start  of  the
     line.  If  more than one file has the specified prefix, then
     tecla completes the file name up to the point at  which  the
     ambiguous  matches  start to differ, then lists the possible
     matches.


     In addition to literally written file names, tecla can  com-
     plete  files  that  start with ~/ and ~user/ expressions and
     that contain $envvar expressions. In particular, if you  hit
     TAB  within  an  incomplete  ~user,  expression,  tecla will
     attempt to complete  the  username,  listing  any  ambiguous
     matches.


     The   completion   binding   is   implemented   using    the
     cplcompleteword()   function,   which  is  also  available
     separately   to   users   of   this   library.    See    the
     cplcompleteword(3TECLA) man page for more details.

  Filename Expansion
     With the default key bindings, pressing ^X* causes tecla  to
     expand  the file name that precedes the cursor, replacing ~/
     and ~user/ expressions with the  corresponding  home  direc-
     tories,  and replacing $envvar expressions with the value of
     the specified environment variable, then if  there  are  any
     wildcards,  replacing  the  so far expanded file name with a
     space-separated list of  the  files  which  match  the  wild
     cards.


     The   expansion   binding   is   implemented    using    the
     efexpandfile()  function.  See  the efexpandfile(3TECLA)
     man page for more details.

  Recalling Previously Typed Lines
     Every time that a new line is entered by  the  user,  it  is
     appended  to  a  list  of  historical input lines maintained
     within the GetLine resource object. You can traverse up  and
     down  this  list  using the up and down arrow keys. Alterna-
     tively, you can do the same with the ^P, and ^N keys, and in
     vi  command mode you can alternatively use the k and j char-
     acters. Thus pressing up-arrow once,  replaces  the  current
     input  line  with  the previously entered line. Pressing up-
     arrow again, replaces this with the line  that  was  entered
     before it, etc.. Having gone back one or more lines into the
     history list, one can return  to  newer  lines  by  pressing



SunOS 5.11          Last change: 20 May 2004                    4






Standards, Environments, and Macros                      tecla(5)



     down-arrow  one  or  more  times.  If you do this sufficient
     times, you will return to the original line  that  you  were
     entering when you first hit up-arrow.


     Note that in vi mode, all of the  history  recall  functions
     switch the library into command mode.


     In emacs mode the M-p and M-n keys work just like the ^P and
     ^N  keys,  except  that  they  skip all but those historical
     lines which share the prefix that precedes the cursor. In vi
     command  mode  the  upper case 'K' and 'J' characters do the
     same thing, except that the  string  that  they  search  for
     includes the character under the cursor as well as what pre-
     cedes it.


     Thus for example, suppose that you were in emacs  mode,  and
     you  had  just entered the following list of commands in the
     order shown:

       ls ~/tecla/
       cd ~/tecla
       ls -l getline.c
       emacs ~/tecla/getline.c



     If you next typed:

       ls



     and then hit M-p, then rather than returning the  previously
     typed emacs line, which doesn't start with "ls", tecla would
     recall the "ls -l getline.c" line. Pressing M-p again  would
     recall the "ls ~/tecla/" line.


     Note that if the string that you are searching for, contains
     any  of  the  special  characters,  *, ?, or '[', then it is
     interpretted as a pattern to  be  matched.  Thus,  cotinuing
     with the above example, after typing in the list of commands
     shown, if you then typed:

       *tecla*







SunOS 5.11          Last change: 20 May 2004                    5






Standards, Environments, and Macros                      tecla(5)



     and hit M-p, then the "emacs ~/tecla/getline.c"  line  would
     be  recalled  first,  since it contains the word tecla some-
     where in the  line,  Similarly,  hitting  M-p  again,  would
     recall  the  "ls  ~/tecla/"  line,  and hitting it once more
     would recall the "ls ~/tecla/" line. The pattern  syntax  is
     the  same  as that described for file name expansion, in the
     efexpandfile(3TECLA).

  History Files
     Authors of programs that use  the  tecla  library  have  the
     option  of  saving historical command-lines in a file before
     exiting, and subsequently reading them  back  in  from  this
     file  when the program is next started. There is no standard
     name for this file, since it makes sense for  each  applica-
     tion to use its own history file, so that commands from dif-
     ferent applications don't get mixed up.

  International Character Sets
     Since libtecla version 1.4.0, tecla has  been  8-bit  clean.
     This  means  that all 8-bit characters that are printable in
     the user's current locale are  now  displayed  verbatim  and
     included  in the returned input line. Assuming that the cal-
     ling program correctly contains a call like the following,

       setlocale(LCTYPE, "");



     then the current locale is determined by the  first  of  the
     environment  variables  LCTYPE,  LCAL, and LANG, that is
     found to contain a valid locale name. If none of these vari-
     ables  are  defined,  or the program neglects to call setlo-
     cale, then the default C locale is used, which is  US  7-bit
     ASCI.  On  most  unix-like platforms, you can get a list of
     valid locales by typing the command:

       locale -a



     at the shell prompt.

  Meta Keys and Locales
     Beware that in most locales other than the default C locale,
     META  characters  become  printable,  and  they  are then no
     longer considered to match  M-c  style  key  bindings.  This
     allows  international characters to be entered with the com-
     pose key without unexpectedly triggering META key  bindings.
     You can still invoke META bindings, since there are actually
     two ways to do this. For example the binding M-c can also be
     invoked  by pressing the ESCAPE key momentarily, then press-
     ing the c key, and this  will  work  regardless  of  locale.



SunOS 5.11          Last change: 20 May 2004                    6






Standards, Environments, and Macros                      tecla(5)



     Moreover,  many  modern  terminal emulators, such as gnome's
     gnome-terminal's and KDE's konsole terminals,  already  gen-
     erate  escape  pairs  like  this  when you use the META key,
     rather than a real meta character, and other emulators  usu-
     ally  have  a  way to request this behavior, so you can con-
     tinue to use the META key on most systems.


     For example, although xterm terminal emulators generate real
     8-bit  meta characters by default when you use the META key,
     they can be configured to output the equivalent escape  pair
     by  setting their EightBitInput X resource to False. You can
     either do this by placing a line like the following in  your
     ~/.Xdefaults file,

       XTerm*EightBitInput: False



     or by starting an xterm with an -xrm '*EightBitInput: False'
     command-line  argument.  In recent versions of xterm you can
     toggle this feature on and off with the 'Meta Sends  Escape'
     option in the menu that is displayed when you press the left
     mouse button and the CONTROL key within an xterm window.  In
     CDE,  dtterms  can  be  similarly coerced to generate escape
     pairs  in  place  of  meta  characters,   by   setting   the
     Dtterm*KshMode resource to True.

  Entering International Characters
     If you don't have a  keyboard  that  generates  all  of  the
     international  characters  that you need, there is usually a
     compose key that will allow you to enter special characters,
     or  a  way  to  create  one. For example, under X windows on
     unix-like systems, if your keyboard doesn't have  a  compose
     key, you can designate a redundant key to serve this purpose
     with the xmodmap command. For example, on many PC  keyboards
     there is a microsoft-windows key, which is otherwise useless
     under Linux. On a laptop, for example, the xev program might
     report that pressing this key generates keycode 115. To turn
     this key into a COMPOSE  key, do the following:

       xmodmap -e 'keycode 115 = Multikey'



     Type this key followed by a " character to enter an 'I' with
     a umlaut over it.

  The Available Key Binding Functions
     The following is a list of the editing functions provided by
     the  tecla  library. The names in the leftmost column of the
     list can be used in configuration  files  to  specify  which



SunOS 5.11          Last change: 20 May 2004                    7






Standards, Environments, and Macros                      tecla(5)



     function  a  given key or combination of keys should invoke.
     They are also used in the next  two  sections  to  list  the
     default key bindings in emacs and vi modes.

     user-interrupt                Send a SIGINT  signal  to  the
                                   parent process.


     suspend                       Suspend the parent process.


     stop-output                   Pause terminal output.


     start-output                  Resume paused terminal output.


     literal-next                  Arrange for the next character
                                   to  be  treated  as  a  normal
                                   character. This allows control
                                   characters to be entered.


     cursor-right                  Move the cursor one  character
                                   right.


     cursor-left                   Move the cursor one  character
                                   left.


     insert-mode                   Toggle between insert mode and
                                   overwrite mode.


     beginning-of-line             Move the cursor to the  begin-
                                   ning of the line.


     end-of-line                   Move the cursor to the end  of
                                   the line.


     delete-line                   Delete  the  contents  of  the
                                   current line.


     kill-line                     Delete everything that follows
                                   the cursor.






SunOS 5.11          Last change: 20 May 2004                    8






Standards, Environments, and Macros                      tecla(5)



     backward-kill-line            Delete all characters  between
                                   the  cursor  and  the start of
                                   the line.


     forward-word                  Move to the end  of  the  word
                                   which follows the cursor.


     forward-to-word               Move the cursor to  the  start
                                   of  the  word that follows the
                                   cursor.


     backward-word                 Move to the start of the  word
                                   which precedes the cursor.


     goto-column                   Move  the  cursor  to  the  1-
                                   relative  column  in  the line
                                   specified  by  any   preceding
                                   digit-argument  sequences (see
                                   Entering Repeat Counts below).


     find-parenthesis              If  the  cursor  is  currently
                                   over  a parenthesis character,
                                   move  it   to   the   matching
                                   parenthesis  character. If not
                                   over a  parenthesis  character
                                   move  right  to the next close
                                   parenthesis.


     forward-delete-char           Delete the character under the
                                   cursor.


     backward-delete-char          Delete  the  character   which
                                   precedes the cursor.


     list-or-eof                   This is intended  for  binding
                                   to  ^D.  When invoked when the
                                   cursor is within the  line  it
                                   displays  all possible comple-
                                   tions then redisplays the line
                                   unchanged.  When invoked on an
                                   empty line,  it  signals  end-
                                   of-input  (EOF)  to the caller
                                   of glgetline().




SunOS 5.11          Last change: 20 May 2004                    9






Standards, Environments, and Macros                      tecla(5)



     del-char-or-list-or-eof       This is intended  for  binding
                                   to  ^D.  When invoked when the
                                   cursor is within the  line  it
                                   invokes   forward-delete-char.
                                   When invoked at the end of the
                                   line  it displays all possible
                                   completions  then   redisplays
                                   the   line   unchanged.   When
                                   invoked on an empty  line,  it
                                   signals  end-of-input (EOF) to
                                   the caller of glgetline().


     forward-delete-word           Delete the word which  follows
                                   the cursor.


     backward-delete-word          Delete the word which precedes
                                   the cursor.


     upcase-word                   Convert all of the  characters
                                   of  the word which follows the
                                   cursor, to upper case.


     downcase-word                 Convert all of the  characters
                                   of  the word which follows the
                                   cursor, to lower case.


     capitalize-word               Capitalize the word which fol-
                                   lows the cursor.


     change-case                   If the next character is upper
                                   case,  toggle it to lower case
                                   and vice versa.


     redisplay                     Redisplay the line.


     clear-screen                  Clear   the   terminal,   then
                                   redisplay the current line.


     transpose-chars               Swap the character  under  the
                                   cursor with the character just
                                   before the cursor.





SunOS 5.11          Last change: 20 May 2004                   10






Standards, Environments, and Macros                      tecla(5)



     set-mark                      Set a mark at the position  of
                                   the cursor.


     exchange-point-and-mark       Move the cursor  to  the  last
                                   mark  that  was  set, and move
                                   the mark to where  the  cursor
                                   used to be.


     kill-region                   Delete the characters that lie
                                   between the last mark that was
                                   set, and the cursor.


     copy-region-as-kill           Copy the text between the mark
                                   and  the  cursor  to  the  cut
                                   buffer, without  deleting  the
                                   original text.


     yank                          Insert the text that was  last
                                   deleted,   just   before   the
                                   current position of  the  cur-
                                   sor.


     append-yank                   Paste the current contents  of
                                   the cut buffer, after the cur-
                                   sor.


     up-history                    Recall the  next  oldest  line
                                   that was entered. Note that in
                                   vi mode you are left  in  com-
                                   mand mode.


     down-history                  Recall the  next  most  recent
                                   line  that  was entered. If no
                                   history  recall   session   is
                                   currently   active,  the  next
                                   line from  a  previous  recall
                                   session is recalled. Note that
                                   in vi mode  you  are  left  in
                                   command mode.


     history-search-backward       Recall the  next  oldest  line
                                   who's   prefix   matches   the
                                   string  which  currently  pre-
                                   cedes   the   cursor   (in  vi



SunOS 5.11          Last change: 20 May 2004                   11






Standards, Environments, and Macros                      tecla(5)



                                   command-mode   the   character
                                   under   the   cursor  is  also
                                   included   in    the    search
                                   string).  Note that in vi mode
                                   you are left in command mode.


     history-search-forward        Recall the  next  newest  line
                                   who's   prefix   matches   the
                                   string  which  currently  pre-
                                   cedes   the   cursor   (in  vi
                                   command-mode   the   character
                                   under   the   cursor  is  also
                                   included   in    the    search
                                   string).  Note that in vi mode
                                   you are left in command mode.


     history-re-search-backward    Recall the  next  oldest  line
                                   who's   prefix   matches  that
                                   established by the last  invo-
                                   cation   of   either  history-
                                   search-forward   or   history-
                                   search-backward.


     history-re-search-forward     Recall the  next  newest  line
                                   who's   prefix   matches  that
                                   established by the last  invo-
                                   cation   of   either  history-
                                   search-forward   or   history-
                                   search-backward.


     complete-word                 Attempt to complete the incom-
                                   plete  word which precedes the
                                   cursor. Unless the  host  pro-
                                   gram  has customized word com-
                                   pletion, file name  completion
                                   is  attempted.  In vi commmand
                                   mode the character  under  the
                                   cursor is also included in the
                                   word being completed, and  you
                                   are left in vi insert mode.


     expand-filename               Within   the   command   line,
                                   expand   wild   cards,   tilde
                                   expressions and dollar expres-
                                   sions  in  the file name which
                                   immediately precedes the  cur-
                                   sor.  In  vi commmand mode the



SunOS 5.11          Last change: 20 May 2004                   12






Standards, Environments, and Macros                      tecla(5)



                                   character under the cursor  is
                                   also included in the file name
                                   being expanded,  and  you  are
                                   left in vi insert mode.


     list-glob                     List  any  file  names   which
                                   match the wild-card, tilde and
                                   dollar expressions in the file
                                   name  which  immediately  pre-
                                   cedes the cursor, then  redraw
                                   the input line unchanged.


     list-history                  Display the  contents  of  the
                                   history  list  for the current
                                   history  group.  If  a  repeat
                                   count  of  >  1  is specified,
                                   only that  many  of  the  most
                                   recent  lines  are  displayed.
                                   See the Entering Repeat Counts
                                   section.


     read-from-file                Temporarily switch to  reading
                                   input from the file who's name
                                   precedes the cursor.


     read-init-files               Re-read teclarc  configuration
                                   files.


     beginning-of-history          Move to the oldest line in the
                                   history  list. Note that in vi
                                   mode you are left  in  command
                                   mode.


     end-of-history                Move to the newest line in the
                                   history  list (ie. the current
                                   line). Note that  in  vi  mode
                                   this  leaves  you  in  command
                                   mode.


     digit-argument                Enter a repeat count  for  the
                                   next key binding function. For
                                   details,  see   the   Entering
                                   Repeat Counts section.





SunOS 5.11          Last change: 20 May 2004                   13






Standards, Environments, and Macros                      tecla(5)



     newline                       Terminate   and   return   the
                                   current  contents of the line,
                                   after  appending   a   newline
                                   character. The newline charac-
                                   ter is normally '0,  but  will
                                   be  the first character of the
                                   key sequence that invoked  the
                                   newline  action,  if this hap-
                                   pens to be a printable charac-
                                   ter. If the action was invoked
                                   by th' 'c0arriagenreturnacharac-
                                   ter,'the line is  appended  to
                                   the history buffer.


     repeat-history                Return the line that is  being
                                   edited,  then  arrange for the
                                   next most recent entry in  the
                                   history  buffer to be recalled
                                   when  tecla  is  next  called.
                                   Repeatedly    invoking    this
                                   action causes successive  his-
                                   torical  input lines to be re-
                                   executed.   Note   that   this
                                   action  is  equivalent  to the
                                   'Operate' action in ksh.


     ring-bell                     Ring the terminal bell, unless
                                   the bell has been silenced via
                                   the    nobeep    configuration
                                   option  (see  The Tecla Confi-
                                   guration File section).


     forward-copy-char             Copy the next  character  into
                                   the cut buffer (NB. use repeat
                                   counts to copy more than one).


     backward-copy-char            Copy  the  previous  character
                                   into the cut buffer.


     forward-copy-word             Copy the next  word  into  the
                                   cut buffer.


     backward-copy-word            Copy the  previous  word  into
                                   the cut buffer.




SunOS 5.11          Last change: 20 May 2004                   14






Standards, Environments, and Macros                      tecla(5)



     forward-find-char             Move the cursor  to  the  next
                                   occurrence of the next charac-
                                   ter that you type.


     backward-find-char            Move the cursor  to  the  last
                                   occurrence of the next charac-
                                   ter that you type.


     forward-to-char               Move the cursor to the charac-
                                   ter   just   before  the  next
                                   occurrence of the next charac-
                                   ter that the user types.


     backward-to-char              Move the cursor to the charac-
                                   ter   just   after   the  last
                                   occurrence before  the  cursor
                                   of the next character that the
                                   user types.


     repeat-find-char              Repeat  the   last   backward-
                                   find-char,  forward-find-char,
                                   backward-to-char  or  forward-
                                   to-char.


     invert-refind-char            Repeat  the   last   backward-
                                   find-char,  forward-find-char,
                                   backward-to-char, or  forward-
                                   to-char in the opposite direc-
                                   tion.


     delete-to-column              Delete the characters from the
                                   cursor  up  to the column that
                                   is  specified  by  the  repeat
                                   count.


     delete-to-parenthesis         Delete the characters from the
                                   cursor up to and including the
                                   matching parenthesis, or  next
                                   close parenthesis.


     forward-delete-find           Delete the characters from the
                                   cursor up to and including the
                                   following  occurence  of   the
                                   next character typed.



SunOS 5.11          Last change: 20 May 2004                   15






Standards, Environments, and Macros                      tecla(5)



     backward-delete-find          Delete the characters from the
                                   cursor up to and including the
                                   preceding  occurence  of   the
                                   next character typed.


     forward-delete-to             Delete the characters from the
                                   cursor  up to, but not includ-
                                   ing, the  following  occurence
                                   of the next character typed.


     backward-delete-to            Delete the characters from the
                                   cursor  up to, but not includ-
                                   ing, the  preceding  occurence
                                   of the next character typed.


     delete-refind                 Repeat the last  *-delete-find
                                   or *-delete-to action.


     delete-invert-refind          Repeat the last  *-delete-find
                                   or  *-delete-to action, in the
                                   opposite direction.


     copy-to-column                Copy the characters  from  the
                                   cursor  up  to the column that
                                   is  specified  by  the  repeat
                                   count, into the cut buffer.


     copy-to-parenthesis           Copy the characters  from  the
                                   cursor up to and including the
                                   matching parenthesis, or  next
                                   close  parenthesis,  into  the
                                   cut buffer.


     forward-copy-find             Copy the characters  from  the
                                   cursor up to and including the
                                   following  occurence  of   the
                                   next character typed, into the
                                   cut buffer.


     backward-copy-find            Copy the characters  from  the
                                   cursor up to and including the
                                   preceding  occurence  of   the
                                   next character typed, into the
                                   cut buffer.



SunOS 5.11          Last change: 20 May 2004                   16






Standards, Environments, and Macros                      tecla(5)



     forward-copy-to               Copy the characters  from  the
                                   cursor  up to, but not includ-
                                   ing, the  following  occurence
                                   of  the  next character typed,
                                   into the cut buffer.


     backward-copy-to              Copy the characters  from  the
                                   cursor  up to, but not includ-
                                   ing, the  preceding  occurence
                                   of  the  next character typed,
                                   into the cut buffer.


     copy-refind                   Repeat the last *-copy-find or
                                   *-copy-to action.


     copy-invert-refind            Repeat the last *-copy-find or
                                   *-copy-to action, in the oppo-
                                   site direction.


     vi-mode                       Switch to vi mode  from  emacs
                                   mode.


     emacs-mode                    Switch to emacs mode  from  vi
                                   mode.


     vi-insert                     From vi command  mode,  switch
                                   to insert mode.


     vi-overwrite                  From vi command  mode,  switch
                                   to overwrite mode.


     vi-insert-at-bol              From vi command mode, move the
                                   cursor  to  the  start  of the
                                   line  and  switch  to   insert
                                   mode.


     vi-append-at-eol              From vi command mode, move the
                                   cursor  to the end of the line
                                   and switch to append mode.


     vi-append                     From vi command mode, move the
                                   cursor one position right, and



SunOS 5.11          Last change: 20 May 2004                   17






Standards, Environments, and Macros                      tecla(5)



                                   switch to insert mode.


     vi-replace-char               From vi command mode,  replace
                                   the character under the cursor
                                   with   the   next    character
                                   entered.


     vi-forward-change-char        From vi command  mode,  delete
                                   the  next character then enter
                                   insert mode.


     vi-backward-change-char       From vi command  mode,  delete
                                   the  preceding  character then
                                   enter insert mode.


     vi-forward-change-word        From vi command  mode,  delete
                                   the   next   word  then  enter
                                   insert mode.


     vi-backward-change-word       From vi command  mode,  delete
                                   the  preceding word then enter
                                   insert mode.


     vi-change-rest-of-line        From vi command  mode,  delete
                                   from  the cursor to the end of
                                   the line,  then  enter  insert
                                   mode.


     vi-change-line                From vi command  mode,  delete
                                   the  current  line, then enter
                                   insert mode.


     vi-change-to-bol              From vi command  mode,  delete
                                   all   characters  between  the
                                   cursor and  the  beginning  of
                                   the  line,  then  enter insert
                                   mode.


     vi-change-to-column           From vi command  mode,  delete
                                   the characters from the cursor
                                   up  to  the  column  that   is
                                   specified by the repeat count,
                                   then enter insert mode.



SunOS 5.11          Last change: 20 May 2004                   18






Standards, Environments, and Macros                      tecla(5)



     vi-change-to-parenthesis      Delete the characters from the
                                   cursor up to and including the
                                   matching parenthesis, or  next
                                   close  parenthesis, then enter
                                   vi insert mode.


     vi-forward-change-find        From vi command  mode,  delete
                                   the characters from the cursor
                                   up to and including  the  fol-
                                   lowing  occurence  of the next
                                   character  typed,  then  enter
                                   insert mode.


     vi-backward-change-find       From vi command  mode,  delete
                                   the characters from the cursor
                                   up  to   and   including   the
                                   preceding   occurence  of  the
                                   next  character  typed,   then
                                   enter insert mode.


     vi-forward-change-to          From vi command  mode,  delete
                                   the characters from the cursor
                                   up to, but not including,  the
                                   following   occurence  of  the
                                   next  character  typed,   then
                                   enter insert mode.


     vi-backward-change-to         From vi command  mode,  delete
                                   the characters from the cursor
                                   up to, but not including,  the
                                   preceding   occurence  of  the
                                   next  character  typed,   then
                                   enter insert mode.


     vi-change-refind              Repeat the  last  vi-*-change-
                                   find or vi-*-change-to action.


     vi-change-invert-refind       Repeat the  last  vi-*-change-
                                   find or vi-*-change-to action,
                                   in the opposite direction.


     vi-undo                       In  vi  mode,  undo  the  last
                                   editing operation.





SunOS 5.11          Last change: 20 May 2004                   19






Standards, Environments, and Macros                      tecla(5)



     vi-repeat-change              In vi command mode, repeat the
                                   last command that modified the
                                   line.


  Default Key Bindings In emacs Mode
     The following default key bindings, which can  be  overriden
     by  the tecla configuration file, are designed to mimic most
     of the bindings of the unix tcsh shell shell, when it is  in
     emacs editing mode.


     This is the default editing mode of the tecla library.


     Under UNIX the terminal driver sets a number of special keys
     for certain functions. The tecla library attempts to use the
     same key bindings to maintain consistency. The key sequences
     shown for the following 6 bindings are thus just examples of
     what they will probably be set to. If you have used the stty
     command  to  change  these  keys,  then the default bindings
     should match.

     ^C    user-interrupt


     ^\fR  abort


     ^Z    suspend


     ^Q    start-output


     ^S    stop-output


     ^V    literal-next



     The cursor keys are refered to by name, as follows. This  is
     necessary because different types of terminals generate dif-
     ferent key sequences when their cursor keys are pressed.

     right    cursor-right


     left     cursor-left





SunOS 5.11          Last change: 20 May 2004                   20






Standards, Environments, and Macros                      tecla(5)



     up       up-history


     down     down-history



     The remaining bindings don't depend on  the  terminal  sett-
     tings.

     ^F                   cursor-right


     ^B                   cursor-left


     M-i                  insert-mode


     ^A                   beginning-of-line


     ^E                   end-of-line


     ^U                   delete-line


     ^K                   kill-line


     M-f                  forward-word


     M-b                  backward-word


     ^D                   del-char-or-list-or-eof


     ^H                   backward-delete-char


     ^?                   backward-delete-char


     M-d                  forward-delete-word


     M-^H                 backward-delete-word





SunOS 5.11          Last change: 20 May 2004                   21






Standards, Environments, and Macros                      tecla(5)



     M-^?                 backward-delete-word


     M-u                  upcase-word


     M-l                  downcase-word


     M-c                  capitalize-word


     ^R                   redisplay


     ^L                   clear-screen


     ^T                   transpose-chars


     ^@                   set-mark


     ^X^X                 exchange-point-and-mark


     ^W                   kill-region


     M-w                  copy-region-as-kill


     ^Y                   yank


     ^P                   up-history


     ^N                   down-history


     M-p                  history-search-backward


     M-n                  history-search-forward


     ^I                   complete-word






SunOS 5.11          Last change: 20 May 2004                   22






Standards, Environments, and Macros                      tecla(5)



     ^X*                  expand-filename


     ^X^F                 read-from-file


     ^X^R                 read-init-files


     ^Xg                  list-glob


     ^Xh                  list-history


     M-<                  beginning-of-history


     M->                  end-of-history


                          newline

                          newline


     M-o                  repeat-history


     M-^V                 vi-mode


     M-0, M-1, ... M-9    digit-argument (see below)



     Note that ^I is what the TAB key generates, and that ^@  can
     be  generated not only by pressing the CONTROL key and the @
     key simultaneously, but also by pressing the CONTROL key and
     the space bar at the same time.

  Default Key Bindings in vi Mode
     The following default key bindings are designed to mimic the
     vi  style of editing as closely as possible. This means that
     very few editing functions are provided in the initial char-
     acter  input  mode, editing functions instead being provided
     by the vi command mode. The vi command mode is entered when-
     ever  the  ESCAPE  character  is  pressed, or whenever a key
     sequence that starts with a meta character  is  entered.  In
     addition  to mimicing vi, libtecla provides bindings for tab
     completion,  wild-card  expansion   of   file   names,   and



SunOS 5.11          Last change: 20 May 2004                   23






Standards, Environments, and Macros                      tecla(5)



     historical line recall.


     To learn how to tell  the  tecla  library  to  use  vi  mode
     instead  of  the default emacs editing mode, see the earlier
     section entitled The Tecla Configuration File.


     Under UNIX the terminal driver sets a number of special keys
     for certain functions. The tecla library attempts to use the
     same key bindings to maintain consistency, binding them both
     in  input  mode and in command mode. The key sequences shown
     for the following 6 bindings are thus just examples of  what
     they will probably be set to. If you have used the stty com-
     mand to change these keys, then the default bindings  should
     match.

     ^C      user-interrupt


     ^\fR    abort


     ^Z      suspend


     ^Q      start-output


     ^S      stop-output


     ^V      literal-next


     M-^C    user-interrupt


     M-^\fR  abort


     M-^Z    suspend


     M-^Q    start-output


     M-^S    stop-output







SunOS 5.11          Last change: 20 May 2004                   24






Standards, Environments, and Macros                      tecla(5)



     Note that above, most of the  bindings  are  defined  twice,
     once as a raw control code like ^C and then a second time as
     a META character like M-^C. The former is the binding for vi
     input mode, whereas the latter is the binding for vi command
     mode. Once in command mode all key sequences that  the  user
     types  that  they don't explicitly start with an ESCAPE or a
     META key, have their first key secretly converted to a  META
     character  before  the  key sequence is looked up in the key
     binding table. Thus, once in command mode, when you type the
     letter  i,  for example, the tecla library actually looks up
     the binding for M-i.


     The cursor keys are refered to by name, as follows. This  is
     necessary because different types of terminals generate dif-
     ferent key sequences when their cursor keys are pressed.

     right    cursor-right


     left     cursor-left


     up       up-history


     down     down-history



     The cursor keys normally generate a key sequence that  start
     with  an  ESCAPE  character,  so beware that using the arrow
     keys will put you into command mode (if you  aren't  already
     in command mode).


     The following are the terminal-independent key bindings  for
     vi input mode.

     ^D      list-or-eof


     ^G      list-glob


     ^H      backward-delete-char


     ^I      complete-word






SunOS 5.11          Last change: 20 May 2004                   25






Standards, Environments, and Macros                      tecla(5)


             newline


             newline


     ^L      clear-screen


     ^N      down-history


     ^P      up-history


     ^R      redisplay


     ^U      backward-kill-line


     ^W      backward-delete-word


     ^X*     expand-filename


     ^X^F    read-from-file


     ^X^R    read-init-files


     ^?      backward-delete-char



     The following are the key bindings that are  defined  in  vi
     command mode, this being specified by them all starting with
     a META character. As mentioned above, once in  command  mode
     the  initial  meta  character  is optional. For example, you
     might enter command mode by typing ESCAPE,  and  then  press
     'H' twice to move the cursor two positions to the left. Both
     'H' characters get quietly converted  to  M-h  before  being
     compared  to  the  key  binding table, the first one because
     ESCAPE followed by a character is always  converted  to  the
     equivalent  META  character,  and the second because command
     mode was already active.

     M-\fR                cursor-right (META-space)





SunOS 5.11          Last change: 20 May 2004                   26






Standards, Environments, and Macros                      tecla(5)



     M-$                  end-of-line


     M-*                  expand-filename


     M-]                  down-history


     M--                  up-history


     M-<                  beginning-of-history


     M->                  end-of-history


     M-^                  beginning-of-line


     M-                   repeat-find-char


     M-,                  invert-refind-char


     M-                  goto-column


     M-~                  change-case


     M-.                  vi-repeat-change


     M-%                  find-parenthesis


     M-a                  vi-append


     M-A                  vi-append-at-eol


     M-b                  backward-word


     M-B                  backward-word






SunOS 5.11          Last change: 20 May 2004                   27






Standards, Environments, and Macros                      tecla(5)



     M-C                  vi-change-rest-of-line


     M-cb                 vi-backward-change-word


     M-cB                 vi-backward-change-word


     M-cc                 vi-change-line


     M-ce                 vi-forward-change-word


     M-cE                 vi-forward-change-word


     M-cw                 vi-forward-change-word


     M-cW                 vi-forward-change-word


     M-cF                 vi-backward-change-find


     M-cf                 vi-forward-change-find


     M-cT                 vi-backward-change-to


     M-ct                 vi-forward-change-to


     M-c;                 vi-change-refind


     M-c,                 vi-change-invert-refind


     M-ch                 vi-backward-change-char


     M-c^H                vi-backward-change-char


     M-c^?                vi-backward-change-char






SunOS 5.11          Last change: 20 May 2004                   28






Standards, Environments, and Macros                      tecla(5)



     M-cl                 vi-forward-change-char


     M-c\fR               vi-forward-change-char (META-c-space)


     M-c^                 vi-change-to-bol


     M-c0                 vi-change-to-bol


     M-c$                 vi-change-rest-of-line


     M-c                 vi-change-to-column


     M-c%                 vi-change-to-parenthesis


     M-dh                 backward-delete-char


     M-d^H                backward-delete-char


     M-d^?                backward-delete-char


     M-dl                 forward-delete-char


     M-d                  forward-delete-char (META-d-space)


     M-dd                 delete-line


     M-db                 backward-delete-word


     M-dB                 backward-delete-word


     M-de                 forward-delete-word


     M-dE                 forward-delete-word






SunOS 5.11          Last change: 20 May 2004                   29






Standards, Environments, and Macros                      tecla(5)



     M-dw                 forward-delete-word


     M-dW                 forward-delete-word


     M-dF                 backward-delete-find


     M-df                 forward-delete-find


     M-dT                 backward-delete-to


     M-dt                 forward-delete-to


     M-d;                 delete-refind


     M-d,                 delete-invert-refind


     M-d^                 backward-kill-line


     M-d0                 backward-kill-line


     M-d$                 kill-line


     M-D                  kill-line


     M-d                 delete-to-column


     M-d%                 delete-to-parenthesis


     M-e                  forward-word


     M-E                  forward-word


     M-f                  forward-find-char






SunOS 5.11          Last change: 20 May 2004                   30






Standards, Environments, and Macros                      tecla(5)



     M-F                  backward-find-char


     M--                  up-history


     M-h                  cursor-left


     M-H                  beginning-of-history


     M-i                  vi-insert


     M-I                  vi-insert-at-bol


     M-j                  down-history


     M-J                  history-search-forward


     M-k                  up-history


     M-K                  history-search-backward


     M-l                  cursor-right


     M-L                  end-of-history


     M-n                  history-re-search-forward


     M-N                  history-re-search-backward


     M-p                  append-yank


     M-P                  yank


     M-r                  vi-replace-char






SunOS 5.11          Last change: 20 May 2004                   31






Standards, Environments, and Macros                      tecla(5)



     M-R                  vi-overwrite


     M-s                  vi-forward-change-char


     M-S                  vi-change-line


     M-t                  forward-to-char


     M-T                  backward-to-char


     M-u                  vi-undo


     M-w                  forward-to-word


     M-W                  forward-to-word


     M-x                  forward-delete-char


     M-X                  backward-delete-char


     M-yh                 backward-copy-char


     M-y^H                backward-copy-char


     M-y^?                backward-copy-char


     M-yl                 forward-copy-char


     M-y\fR               forward-copy-char (META-y-space)


     M-ye                 forward-copy-word


     M-yE                 forward-copy-word






SunOS 5.11          Last change: 20 May 2004                   32






Standards, Environments, and Macros                      tecla(5)



     M-yw                 forward-copy-word


     M-yW                 forward-copy-word


     M-yb                 backward-copy-word


     M-yB                 backward-copy-word


     M-yf                 forward-copy-find


     M-yF                 backward-copy-find


     M-yt                 forward-copy-to


     M-yT                 backward-copy-to


     M-y;                 copy-refind


     M-y,                 copy-invert-refind


     M-y^                 copy-to-bol


     M-y0                 copy-to-bol


     M-y$                 copy-rest-of-line


     M-yy                 copy-line


     M-Y                  copy-line


     M-y                 copy-to-column


     M-y%                 copy-to-parenthesis






SunOS 5.11          Last change: 20 May 2004                   33






Standards, Environments, and Macros                      tecla(5)



     M-^E                 emacs-mode


     M-^H                 cursor-left


     M-^?                 cursor-left


     M-^L                 clear-screen


     M-^N                 down-history


     M-^P                 up-history


     M-^R                 redisplay


     M-^D                 list-or-eof


     M-^I                 complete-word

                          newline
     M-

     M-                   newline


     M-^X^R               read-init-files


     M-^Xh                list-history


     M-0, M-1, ... M-9    digit-argument (see below)



     Note that ^I is what the TAB key generates.

  Entering Repeat Counts
     Many of the key binding functions described previously, take
     an  optional count, typed in before the target key sequence.
     This is interpreted as a repeat count by  most  bindings.  A
     notable  exception  is the goto-column binding, which inter-
     prets the count as a column number.




SunOS 5.11          Last change: 20 May 2004                   34






Standards, Environments, and Macros                      tecla(5)



     By default you can specify this count argument  by  pressing
     the  META key while typing in the numeric count. This relies
     on  the  digit-argument  action  being  bound  to  'META-0',
     'META-1'  etc.  Once  any  one  of  these  bindings has been
     activated, you can optionally take your finger off the  META
     key  to  type in the rest of the number, since every numeric
     digit thereafter is treated as part of the number, unless it
     is  preceded  by the literal-next binding. As soon as a non-
     digit, or literal digit key is pressed the repeat  count  is
     terminated  and either causes the just typed character to be
     added to the line that many times, or causes  the  next  key
     binding function to be given that argument.


     For example, in emacs mode, typing:

       M-12a



     causes the letter 'a' to be added  to  the  line  12  times,
     whereas

       M-4M-c



     Capitalizes the next 4 words.


     In vi command mode the meta modifier is automatically  added
     to  all  characters  typed  in,  so  to  enter a count in vi
     command-mode, just involves typing in the number, just as it
     does  in the vi editor itself. So for example, in vi command
     mode, typing:

       4w2x



     moves the cursor four words to the right, then  deletes  two
     characters.


     You can also bind digit-argument to other key sequences.  If
     these  end  in  a numeric digit, that digit gets appended to
     the current repeat count. If it doesn't  end  in  a  numeric
     digit,  a  new repeat count is started with a value of zero,
     and can be completed by typing in the number, after  letting
     go of the key which triggered the digit-argument action.





SunOS 5.11          Last change: 20 May 2004                   35






Standards, Environments, and Macros                      tecla(5)



FILES
     /usr/lib/libtecla.so       The tecla library


     /usr/include/libtecla.h    The tecla header file


     ~/.teclarc                 The personal tecla  customization
                                file


ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Availability                 SUNWtecla                   
    
     Interface Stability          Evolving                    
    


SEE ALSO
     vi(1),  cplcompleteword(3TECLA),   efexpandfile(3TECLA),
     glgetline(3TECLA),   gliomode(3TECLA),   libtecla(3LIB),
     pcalookupfile(3TECLA), attributes(5)

























SunOS 5.11          Last change: 20 May 2004                   36



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™