简介
Readline 是一个强大的库,只要使用了它的程序,都可以用同一个配置文件配置,而且用同样的方法操作命令行,让你可以方便的编辑命令行。
使用 readline 的程序现在主要有 Bash, GDB,ftp 等。readline 付予这些程序强大的 Emacs 似的命令行编辑方式,你可以随意绑定你的键盘。
测试程序
test.c
#include <stdio.h>; #include <stdlib.h>; #include <readline/readline.h>; #include <readline/history.h>; int main(void) { char *buf = NULL; buf = readline(NULL); puts(buf); }
运行:
->gcc test.c
报错
加上静态链接库
->gcc test.c -lreadline -ltermcap
还是找不到
安装软件
sudo apt-get install libreadline6 libreadline6-dev
现在运行
->gcc test.c -lreadline -ltermcap
没有问题了
扩展说明
此时输入处和命令行一样,支持快捷键,比如:
ctrl + k 删除光标后面所有字符相当于VIM里d shift+$
ctrl + u 删除光标前面所有字符相当于VIM里d shift+^
ctrl + w 删除光标前一个单词相当于VIM里db
ctrl + y 恢复ctrl+u上次执行时删除的字符
ctrl + r 输入单词搜索历史命令
ctrl + s 锁住终端
ctrl + q 解锁终端
ctrl + l 清屏相当于命令clear
ctrl + ? 撤消前一次输入