tecla(7) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

tecla(7)

tecla(7)              Standards, Environments, and Macros             tecla(7)

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  famil‐
       iar,  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 alternatively 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 com‐
       pletion 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  configuration
       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  fol‐
                    lowing  key. Thus the key sequence M-p can be typed in two
                    ways, by pressing the ESCAPE  key,  followed  by  pressing
                    '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.


       a            This is just a normal 'A' key.


   The Tecla Configuration File
       By  default, tecla looks for a file called .teclarc in your home direc‐
       tory (ie. ~/.teclarc). If it finds this file, it reads it, interpreting
       each line as defining a new key binding or an editing configuration op‐
       tion. 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 editor.  This  is
                the default.


       none     Use  just  the  native line editing facilities provided by the
                terminal driver.



       To prevent the terminal bell from being rung, such as when an  unrecog‐
       nized  control-sequence  is typed, place the following line in the con‐
       figuration file:

         nobeep



       An example of a key binding line in the configuration file is the  fol‐
       lowing.

         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 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  fol‐
       lowing 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 printable 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 following 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 function, 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 documentation of the program to see
       if the author chose a different name for this file.

   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 complete files
       that start with ~/ and ~user/ expressions and that contain $envvar  ex‐
       pressions.  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 cpl_complete_word()
       function, which is also available separately to users of this  library.
       See the cpl_complete_word(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 directories, and replacing $envvar  expres‐
       sions  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  ef_expand_file()  func‐
       tion. See the ef_expand_file(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. Alternatively, you can do the same  with  the  ^P,  and  ^N
       keys,  and  in  vi  command  mode you can alternatively use the k and j
       characters. Thus pressing up-arrow once,  replaces  the  current  input
       line  with  the  previously  entered line. Pressing up-arrow again, re‐
       places 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 down-arrow one or more times. If you do this suffi‐
       cient times, you will return to the original line that you were  enter‐
       ing 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 get‐
       line.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 interpreted as  a  pattern
       to be matched. Thus, continuing with the above example, after typing in
       the list of commands shown, if you then typed:

         *tecla*



       and  hit M-p, then the "emacs ~/tecla/getline.c" line would be recalled
       first, since it contains the word tecla somewhere in  the  line,  Simi‐
       larly, hitting M-p again, would recall the "ls ~/tecla/" line, and hit‐
       ting it once more would recall the "ls ~/tecla/" line. The pattern syn‐
       tax  is  the  same  as  that  described for file name expansion, in the
       ef_expand_file(3TECLA).

   History Files
       Authors of programs that use the tecla library have the option of  sav‐
       ing 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
       application  to use its own history file, so that commands from differ‐
       ent 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 lo‐
       cale are now displayed verbatim and  included  in  the  returned  input
       line.  Assuming that the calling program correctly contains a call like
       the following,

         setlocale(LC_CTYPE, "");



       then the current locale is determined by the first of  the  environment
       variables  LC_CTYPE, LC_ALL, and LANG, that is found to contain a valid
       locale name. If none of these variables are defined, or the program ne‐
       glects to call setlocale, then the default C locale is used,  which  is
       US  7-bit  ASCII.  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 char‐
       acters 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 compose key without  unexpectedly  triggering  META
       key bindings. You can still invoke META bindings, since there are actu‐
       ally  two  ways to do this. For example the binding M-c can also be in‐
       voked by pressing the ESCAPE key momentarily, then pressing the c  key,
       and this will work regardless of locale. Moreover, many modern terminal
       emulators,  such  as  gnome's gnome-terminal's and KDE's konsole termi‐
       nals, already generate escape pairs like this when  you  use  the  META
       key,  rather  than  a  real meta character, and other emulators usually
       have a way to request this behavior, so you can  continue  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 dis‐
       played  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  al‐
       low  you to enter special characters, or a way to create one. For exam‐
       ple, 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 COM‐
       POSE  key, do the following:

         xmodmap -e 'keycode 115 = Multi_key'



       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 function a given key or combina‐
       tion 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  al‐
                                     lows 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 beginning  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 cur‐
                                     sor.


       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  pre‐
                                     cedes 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  paren‐
                                     thesis 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 completions
                                     then redisplays the line unchanged.  When
                                     invoked on an empty line, it signals end-
                                     of-input   (EOF)   to   the   caller   of
                                     gl_get_line().


       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  dis‐
                                     plays  all  possible completions then re‐
                                     displays the line unchanged. When invoked
                                     on an empty line, it signals end-of-input
                                     (EOF) to the caller of gl_get_line().


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


       backward-delete-word          Delete the word which precedes  the  cur‐
                                     sor.


       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  follows the
                                     cursor.


       change-case                   If the next character is upper case, tog‐
                                     gle 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.


       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  cur‐
                                     sor used to be.


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


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


       yank                          Insert  the  text  that was last deleted,
                                     just before the current position  of  the
                                     cursor.


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


       up-history                    Recall the next oldest line that was  en‐
                                     tered.  Note that in vi mode you are left
                                     in command 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 command-mode the
                                     character under the cursor  is  also  in‐
                                     cluded  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 in‐
                                     cluded 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  in‐
                                     vocation 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  in‐
                                     vocation of either history-search-forward
                                     or history-search-backward.


       complete-word                 Attempt  to  complete the incomplete word
                                     which precedes  the  cursor.  Unless  the
                                     host  program has customized word comple‐
                                     tion, file name completion is  attempted.
                                     In  vi  command  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 ex‐
                                     pressions in the file name which  immedi‐
                                     ately  precedes the cursor. In vi command
                                     mode the character under  the  cursor  is
                                     also  included in the file name being ex‐
                                     panded, 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 precedes the
                                     cursor, then redraw the  input  line  un‐
                                     changed.


       list-history                  Display  the contents of the history list
                                     for the current history group. If  a  re‐
                                     peat count of > 1 is specified, only that
                                     many  of  the  most recent lines are dis‐
                                     played. 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.


       newline                       Terminate and return the current contents
                                     of  the  line,  after appending a newline
                                     character. The newline character is  nor‐
                                     mally '\n', but will be the first charac‐
                                     ter  of the key sequence that invoked the
                                     newline action, if this happens to  be  a
                                     printable  character.  If  the action was
                                     invoked by the '\n' newline character  or
                                     the  '\r'  carriage return character, the
                                     line is appended to the history buffer.


       repeat-history                Return the line  that  is  being  edited,
                                     then arrange for the next most recent en‐
                                     try  in the history buffer to be recalled
                                     when tecla is next called. Repeatedly in‐
                                     voking 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 configu‐
                                     ration  option  (see The Tecla Configura‐
                                     tion 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.


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


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


       forward-to-char               Move the cursor to the character just be‐
                                     fore the  next  occurrence  of  the  next
                                     character that the user types.


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


       repeat-find-char              Repeat the last backward-find-char,  for‐
                                     ward-find-char,  backward-to-char or for‐
                                     ward-to-char.


       invert-refind-char            Repeat the last backward-find-char,  for‐
                                     ward-find-char, backward-to-char, or for‐
                                     ward-to-char in the opposite direction.


       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  parenthe‐
                                     sis, or next close parenthesis.


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


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


       forward-delete-to             Delete  the characters from the cursor up
                                     to, but not including, the following  oc‐
                                     currence of the next character typed.


       backward-delete-to            Delete  the characters from the cursor up
                                     to, but not including, the preceding  oc‐
                                     currence 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 di‐
                                     rection.


       copy-to-column                Copy the characters from the cursor up to
                                     the column that is specified by  the  re‐
                                     peat 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 occurrence of
                                     the  next  character  typed, into the cut
                                     buffer.


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


       forward-copy-to               Copy  the  characters  from the cursor up
                                     to, but not including, the following  oc‐
                                     currence  of  the  next  character typed,
                                     into the cut buffer.


       backward-copy-to              Copy the characters from  the  cursor  up
                                     to,  but not including, the preceding oc‐
                                     currence 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 opposite 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 in‐
                                     sert 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  switch  to  insert
                                     mode.


       vi-replace-char               From vi command mode, replace the charac‐
                                     ter  under the cursor with the next char‐
                                     acter 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 preced‐
                                     ing 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 preced‐
                                     ing 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  charac‐
                                     ters between the cursor and the beginning
                                     of the line, then enter insert mode.


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


       vi-change-to-parenthesis      Delete the characters from the cursor  up
                                     to  and  including the matching parenthe‐
                                     sis, or next close parenthesis, then  en‐
                                     ter vi insert mode.


       vi-forward-change-find        From  vi command mode, delete the charac‐
                                     ters from the cursor up to and  including
                                     the  following  occurrence  of  the  next
                                     character typed, then enter insert mode.


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


       vi-forward-change-to          From  vi command mode, delete the charac‐
                                     ters from the cursor up to, but  not  in‐
                                     cluding,  the following occurrence of the
                                     next character typed, then  enter  insert
                                     mode.


       vi-backward-change-to         From  vi command mode, delete the charac‐
                                     ters from the cursor up to, but  not  in‐
                                     cluding,  the preceding occurrence 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  opera‐
                                     tion.


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


   Default Key Bindings In emacs Mode
       The following default key bindings, which  can  be  overridden  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 cer‐
       tain 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  de‐
       fault bindings should match.

       ^C              user-interrupt


       ^<\literal>     abort


       ^Z              suspend


       ^Q              start-output


       ^S              stop-output


       ^V              literal-next



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

       right    cursor-right


       left     cursor-left


       up       up-history


       down     down-history



       The remaining bindings don't depend on the terminal settings.

       ^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


       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


       ^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


       \n                   newline


       \r                   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 gener‐
       ated 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 character input mode, editing
       functions instead being provided by the vi command mode. The vi command
       mode is entered whenever the ESCAPE character is pressed, or whenever a
       key sequence that starts with a meta character is entered. In  addition
       to  mimicking  vi, libtecla provides bindings for tab completion, wild-
       card expansion of file names, and 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  cer‐
       tain 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 command to change these keys, then the default bindings should
       match.

       ^C               user-interrupt


       ^\               abort


       ^Z               suspend


       ^Q               start-output


       ^S               stop-output


       ^V               literal-next


       M-^C             user-interrupt


       M-^\literal>     abort


       M-^Z             suspend


       M-^Q             start-output


       M-^S             stop-output



       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  se‐
       quences  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  ta‐
       ble.  Thus, once in command mode, when you type the letter i, for exam‐
       ple, the tecla library actually looks up the binding for M-i.


       The cursor keys are referred to by name, as follows. This is  necessary
       because  different  types of terminals generate different 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 ES‐
       CAPE 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


       \r      newline


       \n      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 op‐
       tional. 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 char‐
       acter is always converted to the equivalent  META  character,  and  the
       second because command mode was already active.

       M-\                  cursor-right (META-space)


       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


       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


       M-cl                 vi-forward-change-char


       M-c\                 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


       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


       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


       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\                 forward-copy-char (META-y-space)


       M-ye                 forward-copy-word


       M-yE                 forward-copy-word


       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


       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


       M-\r                 newline


       M-\n                 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 op‐
       tional count, typed in before the target key sequence. This  is  inter‐
       preted  as  a repeat count by most bindings. A notable exception is the
       goto-column binding, which interprets the count as a column number.


       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  pre‐
       ceded  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 in‐
       volves 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.

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


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


       ~/.teclarc                 The personal tecla customization file


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:



       tab()  box;  cw(2.75i)  |cw(2.75i)  lw(2.75i)   |lw(2.75i)   ATTRIBUTE
       TYPEATTRIBUTE  VALUE  _ Availabilitylibrary/libtecla _ Interface Sta‐
       bilityCommitted


SEE ALSO
       vi(1),        cpl_complete_word(3TECLA),        ef_expand_file(3TECLA),
       gl_get_line(3TECLA),         gl_io_mode(3TECLA),        libtecla(3LIB),
       pca_lookup_file(3TECLA), attributes(7)

Solaris 11.4                      22 Dec 2020                         tecla(7)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3