当 bash 有可用的 vi 绑定(set -o vi)时,向上/向下箭头在命令模式和插入模式下都有效。当我设置 readline 的 ~/.inputrc 以使用 vi 模式(set editing-mode vi)时,irb 等应用程序无法获得箭头功能。我尝试在 inputrc 中“set enable-keypad on”,但没有效果。
如何在其他 readline 感知应用程序中获得类似 bash 的箭头功能?
答案1
这似乎只是 Ruby 的 readline 的问题(并且它仍然存在)。
set editing-mode vi
如果我们使用 ruby 的 readline,我会通过跳过来处理它:
$if ruby
$else
set editing-mode vi
...
$endif
除非 ruby 的 readline 得到修复,否则实际上没有其他事情可做。
答案2
到目前为止,我能够使用向上/向下箭头键查看历史记录的唯一方法是先按 ESC。
只要先按下 ESC,这也适用于 j 和 k 键。