bash、lftp、gdb 等都用 readline 的。
约定:
\C-a 表示 Ctrl+a
\M-a 表示 Meta+a Meta键在PC中通常为ALT键
A 表示 Shift+a
(下面括号中的\A代表Alt,\S代表Shift)
移动命令:
\C-a 移动到行首 Aheah
\C-e 移动到行末 End
\C-f 向前移动一个字符 Forward
\C-b 向后移动一个字符 Backward
\M-f 向前移动一个单词
\M-b 向后移动一个单词
\C-l 清空屏幕 cLear
\C-p 上翻,前一条命令 Previous
\C-n 下翻,后一条命令 Next
编辑命令:
\C-d 删除光标后的一个字符 \M-d 删除光标后的一个单词 Delete
\BackSpace 删除光标前的一个字符 \M-BackSpace 删除光标前的一个单词
\C-k 删除光标至行末的部分 Kill
\C-u 删除光标至行首的部分 Unix-line-discard
\C-w 删除光标前的一个单词 Word
\C-y 粘贴(最后删除的对象) Yank
\C– 撤消
搜索历史纪录:
\C-r 连续使用 ‘C-r’ 可以查找下一个
\M-p
\M-n
补全:
\Tab 使用频率最高的功能!
\C-o 遍历补全 (未定义)
\M-? M-= 列出所有可能选项,相当于按两次Tab键(M-? 实际按键为\A+\S+/)
\M-# 注释掉当前命令,用于将当前命令暂存于历史纪录列表(\A+\S+3)
\M-! 补全命令,通常用来补全子命令,例如 ’‘sudo’‘ 的子命令(\A+\S+1)
\M-~ 补全用户名(\A+\S+’)
\M-@ 补全主机名(\A+\S+2)
\M-$ 补全变量(\A+\S+4)
\M-_ 补全历史纪录中的纪录(\A+\S+-)
\M-* 将所有可能选项放到命令行中(\A+\S+8)