【问题标题】:interpret arrow keys in raw mode (posix)以原始模式解释箭头键(posix)
【发布时间】:2012-03-11 18:46:51
【问题描述】:

我正在尝试创建一个外壳(没什么大不了的,只是搞砸了)并希望在原始模式下读取箭头键以避免将控制字符打印到屏幕上,并且实际上能够使用它们返回并进行编辑在我敲回车之前的一行。这可能与 termios 一起做,但有没有更简单的方法呢?或者使用termios可能很容易?这似乎是一个相当大的课题,必须全面研究。

我在循环中从标准输入读取行,并使用我从输入字符串创建的参数向量调用 fork > execvp。

【问题讨论】:

  • 你在使用 curses 库吗?

标签: c posix


【解决方案1】:

使用 termios 可能是可行的,但有没有更简单的方法 这样做

到目前为止,最简单的方法是使用 readline 库,它提供的一切都比您提到的更多。让你的 shell 表现得像一个成熟的 bash(行编辑,命令历史)应该是相当容易的。

【讨论】:

  • 谢谢,我刚刚查了一下,它似乎完全符合我的要求。
  • @foo 查找“行编辑”、“读取行移动命令”、“在历史记录中搜索命令”。
【解决方案2】:

除非您真的想自己动手,否则我会向您推荐 GNU Readline Library,它会为您完成这些工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 1970-01-01
    • 2014-07-12
    相关资源
    最近更新 更多