方案获得guile的最后一个命令

问题描述 投票:0回答:1

通常在终端(或我以前使用的任何其他命令提示符)中,我将按向上键以获取最后输入的命令。但是,在guile解释器中执行此操作时,我只会得到:

scheme@(guile-user) [1]> ^[[A

获得guile中最后输入的命令最简单的方法是什么?

scheme lisp guile
1个回答
0
投票

命令行REPL通常功能较差。对于Guile,例如,可以在emacs中的Geiser下运行,从而获得更好的体验。这样可以在emacs缓冲区中运行REPL,并具有更好的控制。作为一个长期解决方案,我建议学习如何做这样的事情。

有一些学习曲线可以提高emacs的生产力(尽管不像人们经常担心的那样多)。幸运的是,Guile为那些希望坚持使用常规Guile REPL的人提供了解决方案。

虽然默认情况下未启用,但Guile can make use of the GNU Readline library。这允许通过向上和向下箭头键导航REPL表达历史。要从REPL启用此功能,请输入:

scheme@(guile-user)> (use-modules (ice-9 readline))
scheme@(guile-user)> (activate-readline)

When Guile is started in interactive mode, it first loads the .guile init file来自用户主目录。您可以通过将以上两行添加到.guile文件中来利用这一点(如果尚不存在,请为此创建一个新的.guile文件):

.guile

更新;;; Guile Scheme Init File ;; Activate Readline ;; allows navigation of expression history in REPL (use-modules (ice-9 readline)) (activate-readline) 文件后,每当Guile以交互模式运行时,您将自动具有Readline功能。

© www.soinside.com 2019 - 2024. All rights reserved.