本文共 4714 字,大约阅读时间需要 15 分钟。
Numeric Arguments
digit-argument (M-0, M-1, …, M–) 添加数字给参数积累。M–开始为负数。 universal-argument 这是另一种方式来指定一个参数。如果这个命令后面跟着一个或多个数字,任选与负号,这些数字定义了参数。如果命令后跟数字,再次执行通用参数的结束数字参数,否则忽略。作为一个特殊的情况下,如果该命令之后紧接着的字符既不是数字或负号,下一个命令的参数计数乘以4。参数计数最初是一个,所以执行此功能首次使得参数计数四,第二次使得参数计数十六,等等。Completing
complete (TAB) 尝试对point之前的文本进行完成。猛砸试图完成治疗文本作为一个变量(如果文本以 开始),用户名(如果文本以〜开始),主机名(如果文本以@开始),或者命令(包括别名和函数)轮流。如果这些产生一个匹配,文件名完成尝试。possible−completions(M−?)列出point之前的文本可能的补全。insert−completions(M−∗)这将是由可能的完井产生点之前将所有文本落成。menu−complete类似来完成,但替换与来自可能的补全列表中的单个匹配完成这个词。通过可能的补全列表重复的菜单完整步骤的执行,插入依次每场比赛。在补全列表的末尾,钟声鸣响(如有的钟式设定)和原始文本恢复。n的论点匹配的列表中向前移动n个位置;负值的参数可被用于通过列表向后移动。该命令意在受限于TAB,但是由缺省绑定。menu−complete−backward相同的菜单完成,但仿佛菜单完成已经给出了否定的说法,向后可能的补全列表中移动。这个命令默认绑定。delete−char−or−list删除光标下的字符,如果未在该行的开始或结束complete−filename(M−/)尝试对point之前的文本文件名完成。possible−filename−completions(C−x/)列出point之前的文本可能的补全,将它作为一个文件名。complete−username(M− )上的文字试图完成点之前,将它视为用户名。possible−username−completions(C−x )列出point之前的文本可能的补全,将它视为用户名。complete−variable(M− ) 上的文字试图完成点之前,将它视为shell变量。 possible-variable-completions (C-x $) 列出point之前的文本可能的补全,将它视为shell变量。 complete-hostname (M-@) 上的文字试图完成点之前,将它视为主机名。 possible-hostname-completions (C-x @) 列出point之前的文本可能的补全,将它视为主机名。 complete-command (M-!) 上的文字试图完成点之前,将它视为命令名。命令完成试图对别名,保留字,shell函数,shell内建命令,最后的可执行文件名匹配文本,按照这个顺序。 possible-command-completions (C-x !) 列出point之前的文本可能的补全,将它视为命令名。 dynamic-complete-history (M-TAB) 尝试对point之前的文本完成,比较免受可能的补全匹配的历史记录列表行的文本。 dabbrev-expand 尝试对point之前的文本菜单完成,比较免受可能的补全匹配的历史记录列表行的文本。 complete-into-braces (M-{) 执行文件名完成并插入括号括起来可能的补全列表,这样列表可供shellKeyboard Macros
start-kbd-macro end-kbd-macro call-last-kbd-macro print-last-kbd-macroMiscellaneous
re-read-init-file (C-x C-r) 阅读在INPUTRC文件的内容,并把发现有任何绑定或变量赋值。 abort (C-g) 中止当前编辑命令和环终端的钟声(如有的钟式的设置)。 do-uppercase-version (M-a, M-b, M-x, …) 如果metafied字符x是小写的,运行绑定到相应的大写字符的命令。 prefix-meta (ESC) Metafy下一个字符输入。 ESC f是等同于元-F。 undo (C-_, C-x C-u) 渐增撤销,分别记住每一行。 revert-line (M-r) 撤销这一行的所有更改。这就好比执行撤销命令足够的时间线恢复到初始状态。 tilde-expand (M-&) 执行对当前字波浪线扩展。 set-mark (C-@, M-) 标志设置为点。一个数值的参数,标记被设置到那个位置。 exchange-point-and-mark (C-x C-x) 交换与标记点。当前光标位置被设置为保存的位置,而旧的光标位置被保存为标志。 character-search (C-]) 一个字符被读取并点移动到该字符的下一次出现。负计数搜索以前的事件。 character-search-backward (M-C-]) 一个字符被读取并点移动到该字符的上一个出现。负计数搜索随后出现。 skip-csi-sequence 阅读的字符足以消耗多键序列,例如那些像Home和End键定义。这样的序列开始的控制顺序指示符(CSI),通常ESC-[。如果这个顺序被绑定到“[”,产生这样的序列键将没有任何效果,除非明确地绑定到一个readline的命令,而不是插入杂散字符到编辑缓冲区。这是在默认情况下未绑定的,但通常势必ESC-[。 insert-comment (M-#) 如果没有一个数字参数,readline的注释的开始变量的值是插入到当前行的开头。如果一个数值参数,该命令充当切换:如果在该行开头的字符不匹配的价值注释的开始,值被插入,否则注释的开始从一开始就被删除人物的线。在这两种情况下,该行被接受为如果换行已键入。默认值注释的开始导致此命令使当前行的壳体评论。如果数值参数会导致删除注释字符,行会被shell执行。 glob-complete-word (M-g) 点之前,这个词被当作路径扩展的模式,与含蓄附加一个星号。该模式用于生成匹配为可能的补文件名的列表。 glob-expand-word (C-x *) 点之前,这个词被当作路径扩展的模式,并插入匹配的文件名列表中,取代了字。如果一个数值参数,一个星号路径扩展之前追加。 glob-list-expansions (C-x g) 将已被生成的扩展列表水珠展开字显示,而行被重画。如果一个数值参数,一星号路径扩展之前追加。 dump-functions 打印所有的函数和它们的键绑定到的readline输出流。如果一个数值参数,输出的,因为它可以使一个INPUTRC文件的一部分这样的方式格式化。 dump-variables 打印所有可设置的readline变量及其值到readline的输出流。如果一个数值参数,输出的,因为它可以使一个INPUTRC文件的一部分这样的方式格式化。 dump-macros 打印所有绑定到宏和字符串输出他们readline的按键序列。如果一个数值参数,输出的,因为它可以使一个INPUTRC文件的一部分这样的方式格式化。 display-shell-version (C-x C-v)Programmable Completion
当尝试一个参数的命令字完成对其中完成规范(一compspec)已使用内建完整定义(参见下面的shell内建命令),可编程完成设施被调用。 首先,命令名称标识。如果命令字为空字符串(完成试图在一个空行的开头),任何compspec定义 与-E选项来完成使用。如果compspec已经为该命令的定义,compspec用于产生可能的补全列表 这个词。如果命令词是一个完整路径名,为全路径名compspec搜索第一。如果没有找到compspec为全路径名, 试图找到以下最后的斜线的部分上的compspec。如果这些搜索不会在compspec因此,任何compspec的定义 -D选项来完成作为默认值。 一旦compspec已经发现,它是用来产生匹配单词列表。如果未找到一个compspec,默认bash补如上所述 下完成的处理。 首先,由compspec指定的动作被使用。正在完成其通过字前缀仅匹配被返回。当-f或-d选项用于文件名或目录名完成,shell变量FIGNORE用于过滤匹配。 接下来,指定为参数-W选项字符串被认为是。该字符串使用字符IFS特殊变量,先拆 分隔符。 shell引用荣幸。然后,每个字是用括号扩展,波浪线扩展,参数和变量扩展,命令替换和算术扩展扩展,如上面正在扩建描述。结果使用下字分割上述规则分割。扩张的结果是前缀匹配的反字被完成,并且匹配的单词成为可能的补全。 这些比赛已经产生之后,与-F和-C选项指定的任何shell功能或命令被调用。当命令或功能是 调用,如壳牌在变量上述COMP_LINE,COMP_POINT,COMP_KEY和COMP_TYPE变量赋值。如果一个shell功能 被调用时,COMP_WORDS和COMP_CWORD变量也设置。当调用功能或命令,第一个参数( 1)的COM的名字命令他们的言论正在完成,第二个参数( 2)正在完成的话,第三个参数($3)这个词前的单词正在完成当前命令行上。对字进行正在完成的产生的补全不过滤;功能或命令在生成的比赛完全的自由。 与-F指定的任何功能首先调用。该函数可以使用任何shell功能,包括下面描述的compgen内建命令,以生成匹配。它必须将可能的补全在COMPREPLY数组变量,每个数组元素之一。接下来,-C选项指定的任何命令的环境相当于被调用,以命令替换。它应该打印的完成,每行一个列表,到标准输出。反斜线可以用于逃生换行符,如果需要的话。
最后,随着-P和-S选项指定的任何前缀和后缀被添加到补全列表的每个成员,并把结果返回给readline的完成代码作为可能的补全列表。
如果以前应用的行为不产生任何匹配,而-o选项dirnames中提供了在定义compspec时完成,目录名完成尝试。
如果提供被定义的compspec当完成-o加显示目录选项,目录名完成尝试和任何匹配将被添加到其他行动的结果。
默认情况下,如果一个compspec被发现,无论它产生被返回到完成代码的全套可能的补。默认的bash补全不尝试,和文件名完成的ReadLine默认被禁用。如果提供定义的compspec时完成-o选项bashdefault,如果compspec产生没有匹配的是bash默认的补全尝试。如果提供定义的compspec时完成-o默认选项,如果compspec(如果尝试,默认的bash补全)产生没有匹配的readline默认的完成将被执行。
_completion_loader()
{ . “/etc/bash_completion.d/$1.sh” >/dev/null 2>&1 && return 124 } complete -D -F _completion_loader -o bashdefault -o default转载地址:http://tnwdb.baihongyu.com/