如何在gitbash中使irb和rails控制台正常工作?

时间:2016-06-30 20:21:14

标签: git-bash irb

我在Windows 7上使用gitbash ver 2.9.0,64位。它使用的是精简版2.0.3。

gitbash shell大部分时间似乎工作正常。您可以像使用任何bash shell一样使用箭头键等,它们可以按预期执行,可以滚动查看先前的命令等。

然而,当使用irbrails console(运行irb)时,它非常有趣。向上箭头不是滚动先前的命令,而是将光标向上移动到屏幕上,并将可能向上的箭头控制代码输入到输入缓冲区中。此外,必须使用^ C而不是^ D退出irb。除了进入输入缓冲区之外,^ D什么都不做(如果我键入^ D然后^ C,它因^ C而退出irb,然后因为^ D而退出gitbash。

我找不到关于这个问题的其他报道的方式,以及我发现的有点旧的东西。我已尝试过这篇文章中显示的解决方案:Backspace and arrow keys aren't working in IRB (Git Bash console) on windows machine,但它们根本没有改变行为。

有没有人找到这个问题的合法解决方案?

3 个答案:

答案 0 :(得分:3)

git bash终端模拟器(mintty)与Windows控制台程序并不相符。因此,您可能希望查找运行控制台程序的a wrapper(例如irb.cmdpython.exe等),然后与git bash接口。

具体而言,一旦您在git bash的wintpy.exe中有irb$PATH,就可以设置别名

$ alias irb='winpty "$(which irb).cmd"'

请注意,默认的ruby windows安装程序附带了两个irb:一个好的旧bash脚本irb和一个Windows批处理脚本irb.cmd。只有后者才能使用winpty技巧为我工作。

答案 1 :(得分:0)

非常感谢 krim ! 在学习了add - .cmd - 技巧之后,我尝试了相同的rails console bin/rails c)并以~/scripts/rails_ bash脚本结束:

#!/usr/bin/bash
winpty rails.bat "$@"

所以我现在可以rails_ crails_ db等。

答案 2 :(得分:0)

除了krim's answer,还可以放

datetime

在一个文本文件中,并将其另存为 .bashrc 在您的主目录 alias irb='winpty "$(which irb).cmd"' alias rails='winpty "$(which rails).bat"' 中。这样你就不用每次启动 git bash 都在控制台输入了。

来源:评论https://fool-dev.com/switch-to-inspect-mode-on-gitbash-in-windows/