【发布时间】:2014-05-28 21:25:20
【问题描述】:
我正在用 Haskell 编写一个终端模式程序。我将如何阅读原始按键信息?
特别是,似乎有一些东西在 Haskell 之上提供了行编辑工具。如果我使用getLine,我似乎可以使用向上箭头来获取前几行,编辑文本,并且只有当我按下 Enter 时,文本才会对 Haskell 应用程序本身可见。
我追求的是读取单个按键的能力,因此我可以自己实现行编辑。
也许我的问题不清楚。基本上我想构建类似 Vi 或 Emacs(或Yi)的东西。我已经知道有终端绑定可以让我进行精美的控制台模式打印,因此输出端应该不是问题。我只是在寻找一种获取原始按键输入的方法,因此我可以执行以下操作(例如)在用户按下字母 K 时将 K 添加到当前文本行,或者在用户按下字母 K 时将文件保存到磁盘按 Ctrl+S。
【问题讨论】:
-
可能是
readline包?