【问题标题】:how to do vi style navigation in rail console如何在铁路控制台中进行 vi 样式导航
【发布时间】:2013-09-20 00:51:49
【问题描述】:

如何在 Rails 控制台中进行 VI 样式导航?

在我的 .bash_profile 中,我使用 set -o vi,然后在我的终端中,我享受 vi 风格的导航。 我可以dd 删除一行,cmd+$ 跳转到行尾,等等。

我想在 Rails 控制台中得到同样的东西?

【问题讨论】:

    标签: ruby-on-rails vi irb rails-console .bash-profile


    【解决方案1】:

    您需要将编辑模式设置为 vi。 最简单的方法是在您的主文件夹中创建文件 .inputrc 并添加模式:

    $ echo "set editing-mode vi" >> ~/.inputrc

    瞧!

    【讨论】:

    • 我这样做了,但是在我单击命令模式中的任何键后,它会立即从命令模式返回到进入模式。我怎样才能让它保持在命令模式,直到我点击“i”回到插入模式?
    • 我不确定我是否明白了,但请按 'ESC' 键以便您可以浏览命令模式。因此,您可以使用: - ESC:命令模式,取消最后一个命令 - ESC,k:上一行 - ESC,j:下一行 - ESC,l:右一个字符 - ESC,h:左一个字符 - ESC, w:右一字-ESC,b:左一字-ESC,i:插入模式-ESC,d:删除模式-ESC,/:查找模式-等
    • 是的,但是,我不应该每次都按 ESC。我应该能够像 ESC b b b b 那样做,这应该让我回溯 4 个字。现在我必须做ESC b ESC b ESC b ESC b。这也是你的经历还是我的设置有问题?
    • 这不是我的经验,我只需要按一次ESC。
    【解决方案2】:

    虽然使用 inputrc 不起作用,但我遇到了同样的问题。它不起作用的原因是因为我使用 zsh 作为我的 shell。 Zsh 不使用 inputrc 来设置输入模式。因此,如果您想在 rails 控制台中使用 vi 编辑模式并且您使用 zsh 作为您的 shell,请执行以下操作:

    将以下内容添加到您的 ~/.zshrc

    bindkey -v
    

    参考资料:

    1. https://wiki.archlinux.org/index.php/Zsh#Key_bindings
    2. http://zsh.sourceforge.net/Guide/zshguide04.html

    【讨论】:

      【解决方案3】:

      只是想指出有一种宝石叫做 rb-readline

      这个 gem 破坏了控制台在 vi 模式下工作的能力

      (我的项目已经捆绑了它,因为这个 gem 曾经是 byebug 工作所必需的)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-09
        • 2017-05-01
        相关资源
        最近更新 更多