选项卡完成和箭头键在Git Bash中的GHCI中不起作用

Mar*_*ann 5 windows haskell ghci git-bash

当我ghcii.sh在Git Bash中打开(Glasgow Haskell Compiler Interactive)时,普通标签,退格键和箭头键无法按预期工作.

例如,如果我输入:lo+ Tab,我希望它能完成语句:load.反而发生的是光标跳到右边(我想是下一个制表位).

然后,如果我使用Backspace返回并填写"手动"命令,则会发生以下情况:

Prelude> :load PrettyJSON.hs

<interactive>:2:1:
    Not in scope: `ad'
    Perhaps you meant one of these:
      `and' (imported from Prelude), `id' (imported from Prelude)

<interactive>:2:4: Not in scope: `PrettyJSON.hs'
Run Code Online (Sandbox Code Playgroud)

这是我很幸运的时候.有时候,我甚Backspace至不能一直回来,而是被卡在某个地方:lo(或者我试图发出的其他命令)的某个地方.Enter不过,我仍然可以再次尝试.

箭头键不会调用命令历史记录.如果我按下,光标会向上移动,但我希望它循环显示我的命令历史记录.

这个问题似乎与Git Bash有关,因为GHCI在同一台机器上的PowerShell中正常工作.在我运行早期版本的Git Bash(git版本1.9.5.msysgit.1)的其他机器上,我没有这个问题,所以它似乎与这个特定版本有关(git版本2.5.1) .windows.1).

我的操作系统是Windows 10 64位.起初我认为这个问题与64位Git Bash有关,因为这是我第一次在Windows上看到64位Git Bash,但我也尝试过安装32位Git Bash,它表现出完全相同的行为.

是否有可能使GHCI在这种环境中正常运行?

小智 5

对于在谷歌搜索后仍然来到这里的任何人......

无需更改Git Bash 的启动方式,您可以直接从“开始”菜单启动GHCi(这已经使用Windows 控制台运行它)。只需在开始菜单/屏幕中输入GHCi并等待结果。奖金是控制台标题栏中的一个漂亮的Haskell 图标:P

您也可以尝试WinGHCi,它应该已经安装了。


Mar*_*ann 1

由于没有收到任何回复,我将问题交叉发布到项目的 GitHub 存储库

显然,这个问题似乎与mintty终端模拟器有关。如果您使用ConHost模拟器安装 Git Bash,问题就会消失。