BASH(1) General Commands Manual BASH(1)

Readline Command Names

下面列出的是命令的名称以及默认情况下它们关联的按键序列。
命令名称如果没有对应的按键序列,那么默认是没有关联的。在下列描述中,点 (point)指当前光标位置,标记(mark)指命令 set-mark 保存的光标位置。point 和 mark 之间的文本被称为范围(region)。

Commands for Moving 移动

beginning-of-line (C-a) 移动到当前行的开始。
end-of-line       (C-e) 移动到当前行的结尾。
forward-char      (C-f) 向前移动一字。
backward-char     (C-b) 向后移动一字。
forward-word      (M-f) 向前移动到下一词尾。词由字符(字母和数字)组成。
backward-word     (M-b) 向后移动到当前或上一词首。
clear-screen      (C-l) 清屏,当前行移到屏幕顶端。有参数时刷新当前行,不清屏。
redraw-current-line 刷新当前行。

Commands for Manipulating the History 操纵历史行

accept-line (Newline, Return)
       接受这一行,不管光标在什么位置。如果行非空,将根据变量 HISTCONTROL
       的状态加入到历史列表中。如果行是修改过的历史行,将恢复该历史行
       到初始状态。
previous-history       (C-p) 从历史列表中取得前一个命令,从列表中向后移动。
next-history           (C-n) 从历史列表中取得后一个命令,从列表中向前移动。
beginning-of-history   (M-<) 移动到历史中的第一行。
end-of-history         (M->) 移动到历史行的末尾,即当前输入的行的末尾。
reverse-search-history (C-r) 向后增量搜索,按照需要在历史中向“上”移动。
forward-search-history (C-s) 向前增量搜索,按照需要在历史中向“下”移动。
non-incremental-reverse-search-history (M-p)
       向后非增量搜索,查找给出的字符串。
non-incremental-forward-search-history (M-n)
       向前非增量搜索,查找给出的字符串。
history-search-forward
       向前非增量搜索历史,查找从当前行首到光标之间的字符串。
history-search-backward
       向后非增量搜索历史,查找从当前行首到光标之间的字符串。
yank-nth-arg (M-C-y)
       将前一个命令的第一个参数(通常是上一行的第二个词)插入到光标位置。
       有参数 n 时,将前一个命令的第 n 个词 (前一个命令中的词从 0 开始计数)
       插入到光标位置。负数参数则插入前一个命令倒数第 n 个词。
yank-last-arg (M-., M-_)
       插入前一个命令的最后一个参数 (上一历史条目的最后一个词)。有参数时,
       行为类似于 yank-nth-arg。后继的 yank-last-arg 调用将从历史列表中
       向后移动,依次将每行的最后一个参数插入。
shell-expand-line (M-C-e)
       扩展行,像 shell 做的那样。其中包含别名和历史扩展,还有所有的 shell
       词的扩展。参见下面的 HISTORY EXPANSION 中关于历史扩展的描述。
history-expand-line (M-^)
       在当前行进行历史扩展。
       参见下面的 HISTORY EXPANSION 中关于历史扩展的描述。
magic-space
       在当前行进行历史扩展,并插入一个空格。
       参见下面的 HISTORY EXPANSION 中关于历史扩展的描述。
alias-expand-line
       在当前行进行别名扩展,参见上面的 ALIASES 中关于别名扩展的描述。
history-and-alias-expand-line
       在当前行进行历史和别名扩展。
insert-last-argument (M-., M-_)
       与 yank-last-arg 同义。
operate-and-get-next (C-o)
       接受当前行,加以执行,从历史中取出相对当前行的下一行进行编辑。
       任何参数都被忽略。
edit-and-execute-command (C-xC-e)
       启动一个编辑器,编辑当前命令行,将结果作为 shell 命令运行。Bash
       将依次试着运行 $FCEDIT, $EDITOR, 和 emacs 作为编辑器。

Commands for Changing Text 改变文本

delete-char (C-d)
       删除光标处的字符。如果光标在行首,行中没有字符,最后一次
       输入的字符没有被关联到 delete-char,将返回 EOF.
backward-delete-char (Rubout)
       删除光标之后的字符。当给出一个数值的参数时,保存删除的文本到 kill ring 中。
forward-backward-delete-char
       删除光标下的字符,除非光标在行尾,此时删除光标后的字符。
quoted-insert (C-q, C-v)
       将输入的下一字符保持原样添加到行中。例如,可以用它来插入类似 C-q 的字符。
tab-insert (C-v TAB)
       插入一个跳格符号。
self-insert (a, b, A, 1, !, ...)
       插入键入的字符。
transpose-chars (C-t)
       将光标前的字符向前移动,越过光标处的字符,同时改变光标位置。
       如果光标在行尾,将调换光标之前的两个字符。
transpose-words (M-t)
       将光标前的词向前移动,越过光标处的词,同时改变光标位置。
       如果光标在行尾,将调换行中的最后两个词。
upcase-word (M-u)
       将当前(或下一个)词变成全大写。
       有负值的参数时,将前一个词变为大写,但是不移动光标。
lowercase-word (M-l)
       将当前(或下一个)词变成全小写。
       有负值的参数时,将前一个词变为小写,但是不移动光标。
capitalize-word (M-c)
       将当前(或下一个)词变为首字大写。
       有负值的参数时,将前一个词变为首字大写,但是不移动光标。
overwrite-mode
       控制插入/改写模式。给出一个正整数参数时,切换为改写模式。
       给出一个非正数参数时,切换为插入模式。这个命令只影响 emacs 模式;
       vi 模式的改写与此不同。每个对 readline() 的调用都以插入模式开始。
       在改写模式下,关联到 self-insert 的字符替换光标处的字符,
       而不是将它推到右边。关联到 backward-delete-char 的字符以空格替换
       光标前的字符。默认情况下,这个命令没有关联。

Killing and Yanking 剪切和粘贴

kill-line (C-k)
       剪切从光标到行尾的文本。
backward-kill-line (C-x Rubout)
       剪切从光标到行首的文本。
unix-line-discard (C-u)
       剪切从光标到行首的文本。与 backward-kill-line 没有什么区别。
       剪切的文本被保存于 kill-ring 中。
kill-whole-line
       剪切当前行中所有字符,不管光标在什么位置。
kill-word (M-d)
       剪切从光标到当前词尾,如果光标在词之间,那么剪切到下一词尾。
backward-kill-word (M-Rubout)
       剪切光标之后的词。词的边界与 backward-word 使用的相同。
unix-word-rubout (C-w)
       剪切光标之后的词,使用空白作为词的边界。
       剪切的文本被保存于 kill-ring 中。
delete-horizontal-space (M-\)
       删除光标两边的所有空格和跳格。
kill-region
       剪切当前 region 的文本。
copy-region-as-kill
       将 region 的文本复制到剪切缓冲区中。
copy-backward-word
       将光标前面的词复制到剪切缓冲区中。词的边界与 backward-word 使用的相同。
copy-forward-word
       将光标后面的词复制到剪切缓冲区中。词的边界与 backward-word 使用的相同。
yank (C-y)
       将 kill-ring 顶部的内容粘贴到光标处的缓冲区中
yank-pop (M-y)
       轮转 kill-ring,粘贴新的顶部内容。只能在 yank 或 yank-pop 之后使用。

Numeric Arguments 数值参数

digit-argument (M-0, M-1, ..., M--)
       将这个数字加入已有的(already accumulating)参数中,或开始新的参数。
       M-- 开始一个否定的参数。
universal-argument
       这是指定参数的另一种方法。如果这个命令后面跟着一个或多个数字,
       可能还包含前导的负号,这些数字定义了参数。如果命令之后跟随着数字,
       再次执行 universal-argument 将结束数字参数,但是其他情况下被忽略。
       有一种特殊情况,如果命令后紧接着一个并非数字或负号的字符,下一命令
       的参数计数将乘以 4。参数计数初始是 1,因此第一次执行这个函数,
       使得参数计数为 4,第二次执行使得参数计数为 16,以此类推。

Completing 补全

complete (TAB)
       试着对光标之前的文本进行补全。Bash 依次试着将文本作为一个变量
       (如果文本以 $ 开始),一个用户名(如果文本以 ~ 开始),主机名
       (如果文本以  @  开始),或者命令(以及别名和函数) 来补全。
       如果这些都没有匹配,将尝试文件名补全。
possible-completions (M-?)
       列出光标之前的文本可能的补全。
insert-completions (M-*)
       插入 possible-completions 已产生的光标之前的文本所有的补全。
menu-complete
       与 complete 相似,但使用可能的补全列表中的某个匹配替换要补全的词。
       重复执行 menu-complete 将遍历可能的补全列表,插入每个匹配。
       到达补全列表的结尾时,鸣终端响铃(按照  bell-style  的设置来做)
       并恢复初始的文本。参数 n 将在匹配列表中向前移动 n 步;负数参数
       可以用于在列表中向后移动。这个命令应当与 TAB 键关联,但默认情况下
       是没有关联的。
delete-char-or-list
       删除光标下的字符,如果不是在行首或行尾(类似 delete-char)。
       如果在行尾,行为与 possible-completions 一致。这个命令默认没有关联。
complete-filename (M-/)
       尝试对光标之前的文本进行文件名补全。
possible-filename-completions (C-x /)
       列出光标之前的文本可能的补全,将它视为文件名。
complete-username (M-~)
       尝试对光标之前的文本进行补全,将它视为用户名。
possible-username-completions (C-x ~)
       列出光标之前的文本可能的补全,将它视为用户名。
complete-variable (M-$)
       尝试对光标之前的文本进行补全,将它视为 shell 变量。
possible-variable-completions (C-x $)
       列出光标之前的文本可能的补全,将它视为 shell 变量。
complete-hostname (M-@)
       尝试对光标之前的文本进行补全,将它视为主机名。
possible-hostname-completions (C-x @)
       列出光标之前的文本可能的补全,将它视为主机名。
complete-command (M-!)
       尝试对光标之前的文本进行补全,将它视为命令名。命令补全尝试将此
       文本依次与别名,保留字,shell 函数,shell 内建命令,可执行文件名
       进行匹配。
possible-command-completions (C-x !)
       列出光标之前的文本可能的补全,将它视为命令名。
dynamic-complete-history (M-TAB)
       尝试对光标之前的文本进行补全,将此文本与历史列表中的行相比较
       来查找可能的补全匹配。
complete-into-braces (M-{)
       进行文件名补全,将可能的补全列表放在花括号中插入,使得列表可以被
       shell 使用 (参见上面的 Brace Expansion 花括号扩展)。

Keyboard Macros 宏

start-kbd-macro (C-x ()
       开始保存输入字符为当前键盘宏。
end-kbd-macro (C-x ))
       停止保存输入字符为当前键盘宏,保存宏定义。
call-last-kbd-macro (C-x e)
       重新执行上次定义的键盘宏,即显示出宏中的字符,好像它们是从键盘
       输入的一样。

Miscellaneous

re-read-init-file (C-x C-r)
       读入 inputrc 文件的内容,合并其中的按键关联和变量赋值。
abort (C-g)
       取消当前编辑命令,鸣终端响铃 (按照 bell-style 的设置来做)。
do-uppercase-version (M-a, M-b, M-x, ...)
       如果有 Meta 前缀的字符 x 是小写的,那么与命令相关连的是对应的
       大写字符。
prefix-meta (ESC)
       将输入的下一个字符加上 Meta 前缀。 ESC f 等价于 Meta-f.
undo (C-_, C-x C-u)
       增量的撤销,分别记住每一行。
revert-line (M-r)
       撤销这一行的所有修改。这与执行命令 undo 足够多次的效果相同,
       将这一行恢复到初始状态。
tilde-expand (M-&)
       对当前词进行波浪线扩展。
set-mark (C-@, M-<space>)
       在 point 处设置 mark。如果给出了数值的参数,标记被设置到那个位置。
exchange-point-and-mark (C-x C-x)
       交换 point 和 mark。当前光标位置被设置为保存的位置,旧光标位置被
       保存为 mark。
character-search (C-])
       读入一个字符,光标移动到该字符下次出现的地方。负数将搜索上一个出现。
character-search-backward (M-C-])
       读入一个字符,光标移动到该字符上次出现的地方。负数将搜索下面的出现。
insert-comment (M-#)
       没有数值的参数时,readline 变量 comment-begin 的值将被插入到当前
       行首。如果给出一个数值的参数,命令的行为类似于一个开关:如果行首
       字符不匹配 comment-begin 的值,将插入这个值,否则匹配 comment-begin
       的字符将被从行首删除。在两种情况下,这一行都被接受,好像输入了新行符
       一样。comment-begin 的默认值使得这个命令将当前行变成一条 shell
       注释。如果数值参数使得注释字符被删除,这一行将被 shell 执行。
glob-complete-word (M-g)
      光标之前的词被当作路径扩展的一个模式,尾部暗含了一个星号。
       这个模式被用来为可能的补全产生匹配的文件名列表。
glob-expand-word (C-x *)
      光标之前的词被当作路径扩展的一个模式,匹配的文件名的列表被插入,
       替换这个词。如果给出一个数值参数,在路径扩展之前将添加一个星号。
glob-list-expansions (C-x g)
       显示 glob-expand-word 可能产生的扩展的列表,重绘当前行。如果给出
       一个数值参数,在路径扩展之前将添加一个星号。
dump-functions
       向 readline 输出流打印所有的函数和它们的按键关联。如果给出一个数值
       参数,输出将被格式化,可以用作 inputrc 文件一部分。
dump-variables
       向 readline 输出流打印所有可设置的 readline 函数。如果给出一个数值
       参数,输出将被格式化,可以用作 inputrc 文件一部分。
dump-macros
       向 readline 输出流打印所有关联到宏的 readline 按键序列以及它们输出
       的字符串。如果给出一个数值参数,输出将被格式化,可以用作 inputrc
       文件一部分。
display-shell-version (C-x C-v)
       显示当前 bash 实例的版本信息。

GNU Bash-2.05b 2002 July 15 BASH(1)