The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

zshcompctl (1)
  • >> zshcompctl (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • zshcompctl (1) ( Разные man: Команды и прикладные программы пользовательского уровня )
  • 
    NAME
         zshcompctl - zsh programmable completion
    
    DESCRIPTION
         compctl [ -CDT ] options [ command ... ]
    
         compctl [ -CDT ] options
              [ -x pattern options - ... -- ]
              [ + options [ -x ... -- ] ... [+] ]
              [ command ... ]
    
         compctl -L [ -CDT ] [ command ... ]
    
         compctl + command ...
    
         Control the editor's completion behavior  according  to  the
         supplied  set of options.  Various editing commands, notably
         expand-or-complete-word, usually bound to TAB, will  attempt
         to  complete a word typed by the user, while others, notably
         delete-char-or-list, usually bound to ^D  in  emacs  editing
         mode,  list  the  possibilities; compctl controls what those
         possibilities are.  They may for example be  filenames  (the
         most  common  case, and hence the default), shell variables,
         or words from a user-specified list.
    
    COMMAND FLAGS
         Completion of the arguments of a command  may  be  different
         for  each command or may use the default.  The behavior when
         completing the command word itself may  also  be  separately
         specified.   These  correspond  to  the  following flags and
         arguments, all of which (except for -L) may be combined with
         any combination of the options described subsequently in the
         section OPTION FLAGS:
    
              command ...
                   controls completion for the named commands,  which
                   must  be listed last on the command line.  If com-
                   pletion is attempted for a command with a pathname
                   containing slashes and no completion definition is
                   found, the search is retried with the  last  path-
                   name  component.   Note  that aliases are expanded
                   before the command name is determined  unless  the
                   COMPLETE_ALIASES  option  is set.  Commands should
                   not be combined with the -D, -C or -T flags.
              -D   controls default completion behavior for the argu-
                   ments   of   commands  not  assigned  any  special
                   behavior.  If  no  compctl  -D  command  has  been
                   issued, filenames are completed.
              -C   controls completion when the command  word  itself
                   is  being completed.  If no compctl -C command has
                   been issued,  the names of any executable  command
                   (whether  in  the  path  or specific to the shell,
                   such as aliases or functions) are completed.
              -T   supplies completion flags to be  used  before  any
                   other  processing  is  done,  even  those given to
                   specific commands with other compctl  definitions.
                   This  is  only  useful when combined with extended
                   completion (the -x flag, see the section  EXTENDED
                   COMPLETION below).  Using this flag you can define
                   default behavior which will apply to all  commands
                   without  exception,  or you can alter the standard
                   behavior for all commands.  For example,  if  your
                   access  to the user database is too slow and/or it
                   contains too many users (so that completion  after
                   ~ is too slow to be usable), you can use
                       compctl -Tx  'C[0,*/*]' -f - 's[~]' -k friends -S/
                   to complete the strings in the array friends after
                   a ~.  The first argument is necessary so that this
                   form of ~-completion is not tried after the direc-
                   tory name is finished.
              -L   lists the existing completion behavior in a manner
                   suitable  for  putting into a start-up script; the
                   existing behavior is not changed.  Any combination
                   of the above forms may be specified, otherwise all
                   defined completions are listed.  Any  other  flags
                   supplied are ignored.
              no argument
                   If no argument is given, compctl lists all defined
                   completions  in  an abbreviated form;  with a list
                   of options, all completions with those  flags  set
                   (not counting extended completion) are listed.
    
              If the + flag is alone and followed immediately by  the
              command  list, the completion behavior for all the com-
              mands in the list is reset to the  default.   In  other
              words,  completion  will  subsequently  use the options
              specified by the -D flag.
    
    OPTION FLAGS
         [ -fcFBdeaRGovNAIOPZEnbjrzu ]
         [ -k array ] [ -g globstring ] [ -s subststring ]
         [ -K function ] [ -H num pattern ]
         [ -Q ] [ -P prefix ] [ -S suffix ]
         [ -q ] [ -X explanation ]
         [ -l cmd ] [ -U ]
    
         The remaining options specify the type of command  arguments
         to  look  for  during  completion.  Any combination of these
         flags may be specified; the result is a sorted list  of  all
         the possibilities.  The options are as follows.
    
      Simple flags
         These produce completion lists made up by the shell itself:
    
              -f   Filenames and filesystem paths.
              -c   Command names, including aliases, shell functions,
                   builtins and reserved words.
              -F   Function names.
              -B   Names of builtin commands.
              -m   Names of external commands.
              -w   Reserved words.
              -a   Alias names.
              -R   Names of regular (non-global) aliases.
              -G   Names of global aliases.
              -d   This can be combined with -F, -B, -w, -a,  -R  and
                   -G  to  get names of disabled functions, builtins,
                   reserved words or aliases.
              -e   This option  (to  show  enabled  commands)  is  in
                   effect  by  default,  but may be combined with -d;
                   -de in combination with -F, -B, -w, -a, -R and  -G
                   will   complete   names  of  functions,  builtins,
                   reserved words or aliases whether or not they  are
                   disabled.
              -o   Names of shell options (see the zshoptions  manual
                   page).
              -v   Names of any variable defined in the shell.
              -N   Names of scalar (non-array) parameters.
              -A   Array names.
              -I   Names of integer variables.
              -O   Names of read-only variables.
              -p   Names of parameters used by the  shell  (including
                   special parameters).
              -Z   Names of shell special parameters.
              -E   Names of environment variables.
              -n   Named directories.
              -b   Key binding names.
              -j   Job names:  the first word  of  the  job  leader's
                   command  line.  This is useful with the kill buil-
                   tin.
              -r   Names of running jobs.
              -z   Names of suspended jobs.
              -u   User names.
      Flags with arguments
         These have user supplied arguments to determine how the list
         of completions is to be made up:
              -k array
                   Names taken from the elements of $array (note that
                   the  $  does  not  appear  on  the  command line).
                   Alternatively, the argument array itself may be  a
                   set   of   space-  or  comma-separated  values  in
                   parentheses, in which any delimiter may be escaped
                   with a backslash; in this case the argument should
                   be quoted.  For example,
                       compctl -k "(cputime filesize datasize stacksize
                       coredumpsize resident descriptors)" limit
              -g globstring
                   The globstring is expanded  using  filename  glob-
                   bing;  it  should  be  quoted  to  protect it from
                   immediate expansion. The resulting  filenames  are
                   taken  as  the  possible  completions.  Use `*(/)'
                   instead of `*/' for directories.  The fignore spe-
                   cial  parameter  is  not  applied to the resulting
                   files.   More  than  one  pattern  may  be   given
                   separated by blanks. (Note that brace expansion is
                   not   part   of   globbing.    Use   the    syntax
                   `(either|or)' to match alternatives.)
              -s subststring
                   The subststring is  split  into  words  and  these
                   words  are than expanded using all shell expansion
                   mechanisms (see  the  zshexpn  manual  page).  The
                   resulting words are taken as possible completions.
                   The fignore special parameter is  not  applied  to
                   the  resulting  files.  Note that -g is faster for
                   filenames.
              -K function
                   Call the given function to  get  the  completions.
                   The  function  is passed two arguments: the prefix
                   and the suffix of the word on which completion  is
                   to  be  attempted, in other words those characters
                   before the cursor position,  and  those  from  the
                   cursor  position onwards.  The function should set
                   the variable reply to an array containing the com-
                   pletions  (one  completion per element); note that
                   reply should not be made local  to  the  function.
                   From  such  a  function  the  command  line can be
                   accessed with the -c and  -l  flags  to  the  read
                   builtin.  For example,
                       function whoson { reply=(`users`); }
                       compctl -K whoson talk
                   completes only logged-on users after `talk'.  Note
                   that   `whoson'  must  return  an  array  so  that
                   "reply=`users`" is incorrect.
              -H num pattern
                   The possible completions are taken from  the  last
                   num history lines. Only words matching pattern are
                   taken. If num is zero or negative the  whole  his-
                   tory  is  searched  and  if  pattern  is the empty
                   string all words are taken (as with `*').  A typi-
                   cal use is
                       compctl -D -f + -H 0 '' \
                       -X '(No file found; using history)'
                   which forces completion to look back in  the  his-
                   tory  list for a word if no filename matches.  The
                   explanation string is useful as it tells the  user
                   that  no file of that name exists, which is other-
                   wise ambiguous. (See the next section for -X).
      Control flags
    
         These do not directly specify types of name to be completed,
         but manipulate the options that do:
              -Q   This instructs the shell not to  quote  any  meta-
                   characters  in the possible completions.  Normally
                   the results of a completion are inserted into  the
                   command  line  with  any  metacharacters quoted so
                   that they are interpreted  as  normal  characters.
                   This  is  appropriate  for  filenames and ordinary
                   strings.  However, for special  effects,  such  as
                   inserting  a  backquoted expression from a comple-
                   tion array (-k) so that the expression will not be
                   evaluated  until  the  complete  line is executed,
                   this option must be used.
              -P prefix
                   The prefix is inserted just before  the  completed
                   string;  any  initial  part  already typed will be
                   completed and the whole prefix ignored for comple-
                   tion purposes.  For example,
                       compctl -j -P "%" kill
                   inserts a `%' after the kill command and then com-
                   pletes job names.
              -S suffix
                   When a completion is found the suffix is  inserted
                   after  the  completed string.  In the case of menu
                   completion the suffix is inserted immediately, but
                   it  is still possible to cycle through the list of
                   completions by repeatedly hitting the same key.
              -q   If used with a suffix as specified by the previous
                   option,  this  causes  the suffix to be removed if
                   the next character typed is a blank  or  does  not
                   insert  anything  (the  same  rule as used for the
                   AUTO_REMOVE_SLASH option).   The  option  is  most
                   useful for list separators (comma, colon, etc.).
              -l cmd
                   This option cannot be combined with any other.  It
                   restricts the range of command line words that are
                   considered to be arguments.  If combined with  one
                   of  the  extended  completion  patterns  `p[...]',
                   `r[...]', or `R[...]'  (see the  section  EXTENDED
                   COMPLETION  below)  the range is restricted to the
                   range of  arguments  specified  in  the  brackets.
                   Completion  is then performed as if these had been
                   given as arguments to the cmd  supplied  with  the
                   option.  If the cmd string is empty the first word
                   in the range is instead taken as the command name,
                   and command name completion performed on the first
                   word in the range.  For example,
                       compctl -x 'r[-exec,;]' -l '' -- find
                   completes arguments between `-exec' and  the  fol-
                   lowing  `;'  (or  the  end  of the command line if
                   there is  no  such  string)  as  if  they  were  a
                   separate command line.
    
              -U   Use  the  whole  list  of  possible   completions,
                   whether or not they actually match the word on the
                   command line.  The  word  typed  so  far  will  be
                   deleted.   This  is  most  useful  with a function
                   (given by the -K option)  which  can  examine  the
                   word  components  passed  to  it  (or via the read
                   builtin's -c and -l flags) and use  its  own  cri-
                   teria to decide what matches.  If there is no com-
                   pletion, the original word is retained.
              -X explanation
                   Print explanation when trying  completion  on  the
                   current  set  of options. A `%n' in this string is
                   replaced by the number of matches.
    
    ALTERNATIVE COMPLETION
         compctl [ -CDT ] options + options [ + ... ] [ +  ]  command
         ...
    
         The form with `+' specifies alternative options.  Completion
         is tried with the options before the first `+'. If this pro-
         duces no matches completion is tried with  the  flags  after
         the  `+' and so on. If there are no flags after the last `+'
         and a match has not been found up  to  that  point,  default
         completion is tried.
    
    EXTENDED COMPLETION
         compctl [ -CDT ] options -x pattern options - ... -- [  com-
         mand ... ]
    
         compctl [ -CDT ] options [ -x pattern options - ... -- ]
              [ + options [ -x ... -- ] ... [+] ] [ command ... ]
    
         The form with `-x' specifies  extended  completion  for  the
         commands  given;  as shown, it may be combined with alterna-
         tive completion using +.  Each pattern is examined in  turn;
         when  a  match  is  found,  the  corresponding  options,  as
         described in the section OPTION FLAGS  above,  are  used  to
         generate  possible  completions.  If no pattern matches, the
         options given before the -x are used.
    
         Note that each pattern should be supplied as a single  argu-
         ment  and should be quoted to prevent expansion of metachar-
         acters by the shell.
    
         A pattern is built of sub-patterns separated by  commas;  it
         matches  if at least one of these sub-patterns matches (they
         are `or'ed'). These sub-patterns are  in  turn  composed  of
         other  sub-patterns separated by white spaces which match if
         all of the sub-patterns match (they are `and'ed').  An  ele-
         ment of the sub-patterns is of the form `c[...][...]', where
         the pairs of brackets may be repeated as often as necessary,
         and  matches if any of the sets of brackets match (an `or').
         The example below makes this clearer.
    
         The elements may be any of the following:
    
    
              s[string] ...
                   Matches if the current word on  the  command  line
                   starts  with one of the strings given in brackets.
                   The string is not removed and is not part  of  the
                   completion.
              S[string] ...
                   Like s[string] except that the string is  part  of
                   the completion.
              p[from,to] ...
                   Matches if the  number  of  the  current  word  is
                   between  one  of  the from and to pairs inclusive.
                   The comma and to are optional;  to defaults to the
                   same  value  as from. The numbers may be negative:
                   -n refers to the n'th last word on the line.
              c[offset,string] ...
                   Matches if the string matches the word  offset  by
                   offset  from  the  current word position.  Usually
                   offset will be negative.
              C[offset,pattern] ...
                   Like c but using pattern matching instead.
              w[index,string] ...
                   Matches if the word in position index is equal  to
                   the  corresponding  string.   Note  that  the word
                   count is made after any alias expansion.
              W[index,pattern] ...
                   Like w but using pattern matching instead.
              n[index,string] ...
                   Matches if the current word contains string.  Any-
                   thing  up to and including the index'th occurrence
                   of this string will not be considered part of  the
                   completion, but the rest will.  Index may be nega-
                   tive to count from the end:  in most cases,  index
                   will be 1 or -1.
              N[index,string] ...
                   Like n[index,string] except that the  string  will
                   be taken as a character class.  Anything up to and
                   including the index'th occurrence of  any  of  the
                   characters  in  string will not be considered part
                   of the completion.
              m[min,max] ...
                   Matches if the total number of words lies  between
                   min and max inclusive.
              r[str1,str2]...
                   Matches if the cursor is after a word with  prefix
                   str1.  If there is also a word with prefix str2 on
                   the command line it matches only if the cursor  is
                   before this word.
    
              R[str1,str2]...
                   Like r but using pattern matching instead.
    
    EXAMPLE
              compctl -u -x 's[+] c[-1,-f],s[-f+]' -g '~/Mail/*(:t)' \
              - 's[-f],c[-1,-f]' -f -- mail
    
         This is to be interpreted as follows:
    
         If the current command is mail, then
    
              if ((the current word begins with +  and  the  previous
              word  is  -f)  or  (the current word begins with -f+)),
              then complete  the  non-directory  part  (the  :t  glob
              modifier) of files in the directory ~/Mail; else
    
              if the current word begins with -f or the previous word
              was -f, then complete any file; else
    
              complete user names.
    
    
    NOTES
         Source for zsh is available in the SUNWzshS package.
    
    
    
    


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру