当我输入一些文字然后 Ctrl + R 时,部分输入的文字出现在反向搜索提示中:
> hello[Ctrl+R]
(reverse-i-search)`': hello
我正在寻找反向搜索的替代品。可以重新绑定快捷方式以运行其他程序,例如:
bind -x '"\C-R":"echo test"'
> hello[Ctrl+R]
test
> hello
如何从我绑定 Ctrl + R 的程序中访问部分输入的命令/文本hello
?
标签完成设置COMP_WORDS
,COMP_LINE
等。我正在寻找类似的东西,理想情况下可以通过C / C ++可执行文件直接访问。
答案 0 :(得分:2)
找到我在此之后的内容: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
用于设置光标位置。