【发布时间】:2017-09-12 03:14:15
【问题描述】:
我环顾四周,无论如何都找不到使用fzf 在irb 或pry 控制台中搜索历史。有什么办法吗?
【问题讨论】:
我环顾四周,无论如何都找不到使用fzf 在irb 或pry 控制台中搜索历史。有什么办法吗?
【问题讨论】:
看了一圈,发现命令完成与GNU Readline相关联,然后发现Readline的纯ruby实现,其实
让 fzf 与RbReadline 一起工作很容易,我要做的是覆盖RbReadline 的类方法rl_reverse_search_history,当我们点击 Ctrl + 时会触发它R 在 pry 控制台中。
我所做的总结:
安装 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 中选择的结果插入到光标后的终端中。
【讨论】: