我在Windows上尝试使用GHCi中的Haskell。在我正在阅读的教程中,函数名称包含在反引号中:x `mod` 7
。但是,我无法输入GHCi中的角色。
反引号字符的ASCII值为096,但GHCI不允许 Alt + number 插入任何字符。复制/粘贴也不起作用。我该怎么办?
答案 0 :(得分:10)
如果您的键盘没有,我不知道如何向ghci发送反引号。但是这个小技术问题不应该阻止你尝试Haskell!
您可以使用f a b
代替a `f` b
在没有反引号的情况下在Haskell中进行编程。在您的示例中,mod x 7
。
您可以将键盘布局设置为us-american以进行编程。虽然在物理键盘上找到带有错误标签的按键需要一些练习,但可以更方便地访问[
,]
,{
和}
,在你的情况下,完全有反击。
您可以从剪贴板粘贴反引号。 (从命令窗口的设置中激活“快速编辑模式”和“粘贴模式”,然后使用鼠标右键粘贴)。
也许在命令窗口周围使用包装器有帮助吗?我有时在Emacs中使用Console2,有时使用M-x shell
。
也许WinGHCi有帮助吗?它至少支持复制和粘贴。
请参阅ØrjanJohansen关于如何向ghci添加自定义键绑定的答案。
祝Haskell好运!
答案 1 :(得分:6)
@Toxaris在他的回答中给出了一些建议,但在评论中他还提到了配置GHCi版本的readline(称为haskeline
)的可能性。并坚持allows custom keybindings。所以我决定测试一下。
文档说明将自定义项放在~/.haskeline
中,这不是Windows路径,但可能会在.haskeline
返回的目录中转换为System.Directory.getHomeDirectory
。 (vim
也可以直接在Windows上编辑该路径,但之后我才意识到。)所以我将以下内容放在C:\Users\Ørjan\.haskeline
中:
bind: meta-' `
现在我可以按`
!
alt-'