我如何将GHCi提示符设置为Windows上的lambda字符?

我想在Windows 7的GHCi(7.8)中有一个lambda(λ)符号作为我的提示符,所以我将.ghci文件设置为

 :set +m :set prompt "λ: " :set prompt2 " | " 

我把我的控制台字体设置为Lucida控制台,因为它应该支持Unicode,但是当我加载GHCi时,它看起来像这样

没有拉姆达!

我如何让Windows正确识别λ符号?

使用> chcp.com 65001与ghci一起工作,但是在设置了代码页之后,用vim打开了其他文本文件,并返回了乱码文本。

而不是改变代码页,你可以使用unicode转义lambda \x03BB

 :set prompt "\x03BB: " 

代替:

 :set prompt "λ: " 

这实际上是一个非常简单的修复,只需在启动GHCi之前运行以下命令:

 > chcp.com 65001 

这将窗口的编码设置为65001代码页,这样可以正确显示λ:

在这里输入图像说明

这也会让很多其他Unicode字符在cmd.exe和其他Windows shell(如Cygwin bash)中正确显示,但是Windows的Unicode支持仍然不够完善,有些字体不支持很多字符。 幸运的是,λ正好是一个支持的角色,所以我们都可以拥有经典的GHCi提示。