使用RVM时,如何在IRB中使vi编辑模式工作?

pix*_*rth 15 vi irb rvm

我" set editing-mode vi"我.inputrc在我的Mac OS系统,它允许VI编辑在IRB.当我使用RVM Ruby时,IRB会话不处理此指令.

有谁知道解决方案?

the*_*Man 22

您是否已set -o vi在命令行或其中一个启动脚本中设置了?这为shell打开了它.我有两个" set editing-mode vi"并且set -o vi在IRB中有类似Vi的编辑.


编辑:

尝试创建~/.editrc,放入bind -v其中.Snow Leopard支持内置的editline,因此可能是IRB正在使用的内容.

尝试man 5 editrc更多信息.

  • 是的,我在 ~/.bashrc 中设置了 -o vi(实际上是 ~/.bash_profile),并且在进入 irb 之前我在命令行上进行了 vi 编辑,但是在 irb 中,它似乎没有处理 ~ /.inputrc 文件。对于使用 rvm 的我来说,这是一个非常令人沮丧的挫折。我确定有解决方案。有人建议我尝试 Readline.set_vi_editing(或某些此类命令),但出现错误“未在本机上实现”。麦克雪豹。 (2认同)

Nat*_* E. 10

正如前面提到的,你可以添加bind -v在你的~/.editrc.

您可能会或可能不会注意到这个问题,这会消除您使用制表符完成的能力.如果你想保持标签完成,你可以添加:bind \\t rl_complete到你的 ~/.editrc.


jma*_*xyz 6

在Mountain Lion上使用RVM安装的Ruby 1.9.3,我能够通过添加bind -v到〜/ .editrc 来获得irb中的vi键绑定.我在同一系统上使用RVM安装了Ruby 2.0,并且irb陷入了emacs模式.添加set editing-mode vi〜/ .inputrc让我在Ruby 2.0上使用irb工作的vi键绑定.