我环顾四周,无论如何都找不到使用fzf来搜索irb或pry控制台中的历史记录。有什么办法吗?
答案 0 :(得分:2)
环顾四周后,我发现命令完成与GNU Readline相关联,然后我找到了Readline的纯ruby实现,实际上
使用RbReadline
使fzf在pry中工作变得非常容易,我所做的就是覆盖RbReadline
的类方法rl_reverse_search_history
,当我们触发时在pry控制台中点击 Ctrl + R 。
总结我的所作所为:
安装rb-readline
gem install rb-readline
修改您的.pryrc
添加此
require 'rb-readline'
def RbReadline.rl_reverse_search_history(sign, key)
rl_insert_text `cat ~/.pry_history | fzf --tac | tr '\n' ' '`
end
rl_insert_text
在光标后将您从fzf中选择的结果插入终端。