我在Windows 7上使用Gitbash Ver 2.9.0,64位。
大多数时候,吉特巴什·贝壳(Gitbash Shell)似乎正常工作。您可以使用箭头键,例如任何bash shell,并且它们按预期执行,能够滚动浏览先验命令等。
但是,当使用irb
或rails console
(运行irb
)时,它非常薄弱。UP Arrow没有将光标移到屏幕上,而不是滚动先前的命令,而是将箭头控制代码进入输入缓冲区中的内容。另外,必须使用 ^c而不是 ^d退出irb
。^d除了进入输入缓冲区(如果我键入 ^d then ^c,它将退出 irb
),因为 ^c,由于 ^c而退出gitbash,因为 ^d)。
我找不到有关此问题的其他报告的太多,而我发现的几乎没有老化。我已经尝试了这篇文章中显示的解决方案:Backspace和Arrow键在Windows Machine上没有在IRB(Git Bash Console)中工作,但它们根本没有更改该行为。
有人找到了解决此问题的合法解决方案吗?
git bash终端模拟器(mintty
)并没有真正与Windows Console程序相处。因此,您可能需要寻找一个运行控制台程序的包装器(例如irb.cmd
,python.exe
等),然后与Git Bash接口。
具体地,一旦您在git bash的$PATH
中拥有wintpy.exe
和irb
,就可以将别名设置为这样的别名
$ alias irb='winpty "$(which irb).cmd"'
请注意,有两个irb
S带有默认的Ruby Windows安装程序运输:一个良好的旧bash脚本irb
和一个Windows批处理脚本irb.cmd
。只有后者使用winpty
技巧对我有用。
非常感谢 krim !在学习了添加-.cmd
-Trick后,我尝试了Rails Console bin/rails c
),并以~/scripts/rails_
bash脚本结尾:
#!/usr/bin/bash
winpty rails.bat "$@"
所以我现在可以做rails_ c
或rails_ db
等。
除了克里姆的答案外,您还可以放置
alias irb='winpty "$(which irb).cmd"'
alias rails='winpty "$(which rails).bat"'
在文本文件中,并将其保存为 .bashrc 在您的主目录%homepath%
中。那么,每次启动git bash时,您都不必在控制台中键入它。
来源:在https://fool-dev.com/switch-to-inspect-mode-on-gitbash-in-windows/