Linux终端字符显示为符号而非键入键盘

时间:2012-11-14 03:12:41

标签: linux terminal ocaml

我在Linux终端上使用Ocaml。有时它会陷入一种奇怪的模式,它无法按预期响应我的键盘。例如,如果我向上,向下,向右和向左按下箭头,它会在输入中生成^[[A^[[B^[[C^[[D。或者,有时如果我只输入一次字母,它可能连续三次重复相同的字母和/或如果我键入删除按钮,则输入“^ H”。

有谁知道这里发生了什么?我假设我无意中做了一些事情来切换模式,但我不知道如何切换它或者为什么它首先切换。

2 个答案:

答案 0 :(得分:6)

我认为这基本上是其他Stack Overflow问题的重复:

  

Is it possible to use arrow keys in OCaml interpreter?

OCaml解释器的库存版本不解释箭头键之类的特殊键。所以它只会回应他们的控制代码(正如本格雷厄姆指出的那样)。要获得您可能想要的行为(编辑输入,返回上一行等),您需要使用行编辑工具包装OCaml解释器。请参阅上面链接的其他问题以获取一些建议。

这并不能解释为什么你会看到不同的“行为模式”,但我仍然认为这就是你想要思考问题的方式。

答案 1 :(得分:2)

你应该使用Utop。 Utop是一个OCaml解释器,提供自动完成(如bash)和命令历史。当然,箭头键的所有问题都会消失。

您需要编译ZedLambda-Term来编译Utop。