【问题标题】:How do I get a terminal program to honour cursor keys?如何让终端程序尊重光标键?
【发布时间】:2008-10-09 13:21:03
【问题描述】:

我在 Mac OS X 上使用 ccl/openmcl。(两者的最新版本)。当显示 lisp 提示时,使用光标键导航当前行会产生转义码,而不是移动,例如:

Welcome to Clozure Common Lisp Version 1.2-r9226-RC1 (DarwinX8664)!
? (^[[D

在这里我按下了( 键,然后按下了left cursor 键。

当我在 Debian Etch 盒子上运行 ccl/openmcl 时,光标按预期运行,并将插入点向左移动一位。

我猜这是某种终端配置选项?

【问题讨论】:

    标签: macos lisp terminal


    【解决方案1】:

    如果 Clozure CL 不提供原生的 readline/editline/whatever 支持或者被配置为不使用它,你可以使用 rlwrap 运行它,例如:

    rlwrap openmcl
    

    rlwrap 可以通过MacPorts 或直接从http://utopia.knoware.nl/~hlub/rlwrap/ 获得。

    【讨论】:

    • debian 的 ccl 的构建是否可能会配置为链接到 readline,而 Mac OS 的则不是?
    • 是的,我认为 Mac OS 存在许可问题,因此 readline 不能包含在 OS 中,但必须由用户安装。
    • 我认为苹果不喜欢 GPL 的任何东西 mrchucho.net/2007/11/06/leopard-readline-and-vi-bindings
    【解决方案2】:

    我知道我不是用这个来回答这个问题,但你不应该花太多时间直接使用 lisp repl。

    使用 emacs 和 slime 是与 lisp 交互的更方便的方式。你手头有一个检查器和一个调试器,你可以跳转到函数的源代码等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-10
      • 2018-12-05
      • 2011-02-08
      • 2013-02-04
      • 1970-01-01
      • 2014-08-28
      • 2015-09-26
      • 1970-01-01
      相关资源
      最近更新 更多