GNU Readline 操作参考(Bash/Emacs/...)

类别:软件工程 点击:0 评论:0 推荐:

基础操作
C-b  回退 1 字符
C-f  前进 1 字符
Del/Backspace 删除左侧字符 (#1)
C-d  删除光标下的字符
C-_/C-x C-u 撤销最后一次操作

#1: 基于不同的配置,Backspace 键可能被设置成删除光标左侧的字符而 Del 键则和 C-d 一样,删除光标下的字符。

移动光标
C-a  移动到行首
C-e  移动到行末
M-f  前进一个单词(包括数字和字母)
M-b  回退一个单词
C-l  清空屏幕,然后在顶端重新输出当前行

Killing 操作
Killing 操作是指从当前行删除文本的同时保存以供以后粘贴(Yanking)
C-k  从当前位置开始删除剩余部分
M-d  删除从光标位置到单词结束的部分;如果光标在单词之间,则删除下一个单词
M-Del  删除从光标位置到单词开始的部分;如果光标在单词之间,则删除前一个单词
C-w  删除从当前位置到上一个空白之间的部分。与 M-Del 具有不同的单词界定

Yanking 操作
C-y  粘贴最后一次 Kill 的文本到光标处
M-y  回滚粘贴记录,并且粘贴新的最顶端一条。前一条指令必须是 C-y 或 M-y

读取参数
可以传递数字参数给 Readline 命令。格式:
M-[-]digit Command
例:
M-1 0 C-d 传递 10 给 C-d,删除光标后的十个字符
M-- C-k  传递 -1 给 C-k,删除当前行中光标之前的部分

查找历史记录
两种方式:普通查找、增量查找
增量查找:
C-r  在历史记录中向前(反向)查找
C-s  在历史记录中向后(正向)查找
重复 C-r/C-s 会继续查找下一条记录
Esc/C-j  结束查找,接受查找结果为当前行
Enter  结束查找,接受结果并执行
C-g  退出查找,恢复当前行

摘录、翻译自 "GNU Readline Library Users' Manual"
http://cnswww.cns.cwru.edu/php/chet/readline/rluserman.html

本文地址:http://com.8s8s.com/it/it34417.htm