作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当我输入一些文本然后 Ctrl+R 时,部分输入的文本出现在反向搜索提示中:
> hello[Ctrl+R]
(reverse-i-search)`': hello
我正在寻找替代反向搜索的方法。可以重新绑定(bind)快捷方式来运行不同的程序,例如:
bind -x '"\C-R":"echo test"'
> hello[Ctrl+R]
test
> hello
如何从绑定(bind) Ctrl+R 的程序访问部分输入的命令/文本 hello
?
Tab 补全集 COMP_WORDS
、COMP_LINE
等。我正在寻找类似的东西,理想情况下可由 C/C++ 可执行文件直接访问。
最佳答案
在这里找到了我想要的:https://unix.stackexchange.com/a/82716/54030
环境变量READLINE_LINE可以读取甚至修改:
bind -x '"\C-R":"echo cmd=$READLINE_LINE"'
> hello[Ctrl+R]
cmd=hello
bind -x '"\C-R":"READLINE_LINE=replaced; READLINE_POINT=8"'
> hello[Ctrl+R]
... becomes
> replaced
READLINE_POINT
用于设置光标位置。
关于c - 如何从 bash 读取部分输入的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45777152/
我是一名优秀的程序员,十分优秀!