我在Windows 7上使用gitbash ver 2.9.0,64位。它使用的是精简版2.0.3。
gitbash shell大部分时间似乎工作正常。您可以像使用任何bash shell一样使用箭头键等,它们可以按预期执行,可以滚动查看先前的命令等。
然而,当使用irb
或rails 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,但它们根本没有改变行为。
有没有人找到这个问题的合法解决方案?
答案 0 :(得分:3)
git bash终端模拟器(mintty
)与Windows控制台程序并不相符。因此,您可能希望查找运行控制台程序的a wrapper(例如irb.cmd
,python.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_ c
或rails_ 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/