我希望在Windows 7上的GHCi(7.8)中有一个lambda(λ)符号作为我的提示,因此我将.ghci
文件设置为
:set +m
:set prompt "λ: "
:set prompt2 " | "
我将我的控制台字体设置为Lucida控制台,因为它应该支持Unicode,但是当我加载GHCi时,它看起来像这样
如何让Windows正确识别λ符号?
答案 0 :(得分:29)
使用> chcp.com 65001
使用ghci但在设置该代码页后使用vim打开其他文本文件时返回乱码文本。
您可以使用unicode转义lambda \x03BB
:
:set prompt "\x03BB: "
而不是:
:set prompt "λ: "
答案 1 :(得分:13)
这实际上是一个非常简单的修复,只需在启动GHCi之前运行以下命令:
> chcp.com 65001
这将Window的编码设置为65001代码页,这样可以正确显示λ:
这也会让许多其他Unicode字符在cmd.exe
和其他Windows shell(例如Cygwin bash)中正确显示,但Windows的Unicode支持仍然不完美,有些字体不支持很多人物。幸运的是,λ恰好是一个支持的角色,所以我们都可以拥有经典的GHCi提示符。
答案 2 :(得分:1)
使用 Răzvan Flavius Panda 的回答,我决定制作一个配置文件,其中包含三个用于设置提示的标志。原因是 prompt-cont
适用于 GHCi 版本 >= 8.2.0,而 prompt2
适用于较旧的 GHCi 版本。
我查看了 a short tutorial about configuring GHCi 以尝试找出放置配置文件的位置。该站点称 GHCi 按以下顺序读取配置文件:
./.ghci
(本地配置文件。)
取决于您的操作系统:
$HOME/.ghc/ghci.conf
C:\Users\<name>\AppData\Roaming\ghc\ghci.conf
$HOME/.ghci
(可能仅限 *nix;对我不起作用。)
我选择了第二个选项。
C:\Users\Edwin\AppData\Roaming\ghc\ghci.conf
:
:set prompt "\x03BB> "
:set prompt2 "\x03BB| "
:set prompt-cont "\x03BB| "
说明:
\x03BB
代表λ。prompt
是主要提示。所以它将是“λ>”。prompt2
用于辅助提示(我还没有看到)。所以它会是“λ|”。prompt-cont
与 prompt2
相同,是 GHCi 8.2.0 中 prompt2
的替代品。