Emacs eshell上irb中的irb命令历史记录击键

Emacs eshell上irb中的irb命令历史记录击键,emacs,irb,eshell,Emacs,Irb,Eshell,在emacs eshell中运行irb时,如何访问命令历史记录 当我在emacs之外的命令行上运行irb时,我可以使用向上箭头获取最后一个命令,或者使用ctrl-r搜索命令历史记录。在eshell内部的irb中,向上箭头不执行任何操作(即,它运行input中的eshell先前匹配输入,而input在irb中不执行任何操作),ctrl-r使用emacs反向搜索缓冲区,而不是搜索命令历史记录。我猜irb从未收到向上箭头键,因为它绑定到eshell先前匹配的input输入,但我不确定如何修复它。运行(

在emacs eshell中运行irb时,如何访问命令历史记录

当我在emacs之外的命令行上运行irb时,我可以使用向上箭头获取最后一个命令,或者使用ctrl-r搜索命令历史记录。在eshell内部的irb中,向上箭头不执行任何操作(即,它运行input中的
eshell先前匹配输入,而input
在irb中不执行任何操作),ctrl-r使用emacs反向搜索缓冲区,而不是搜索命令历史记录。我猜irb从未收到向上箭头键,因为它绑定到
eshell先前匹配的input输入,但我不确定如何修复它。运行
(全局未设置键(kbd“”)
不会解除eshell中向上箭头的绑定,我不确定这是否合适

我知道inf-ruby,但我更喜欢在eshell中使用irb,而且
up-arrow
ctrl-r
也不能使用

irb中的readline可能有问题,但我不这么认为
conf.use_readline
在命令行上为nil,irb命令历史记录可以正常工作。在eshell中运行irb--readline会将
conf切换为true,但不会修复向上箭头或ctrl-r

Emacs术语模式(
M-x术语
)与
C-C-j
/
C-C-k
相结合,暂时允许拉拽似乎是一个不错的选择。请参阅另一个答案。

Emacs术语模式(
M-x术语)与
C-C-j
/
C-C-k
相结合,暂时允许拉拽似乎是一个不错的选择。请看另一个答案