繁体   English   中英

Emacs Lisp:如何使用REPL交互式缓冲区?

[英]Emacs Lisp: How to, an interactive buffer with REPL?

想象一下dunnet.el游戏,eliza医生或IELM模式......; 这是,评估答案并在主缓冲区上提示新问题,然后根据其elisp规则进行一些操作。

我想创建类似交互式助手的东西,但不要从迷你缓冲区提示(交互式)(不做Mx)...我需要一种REPL循环。 所以问题是如何在工作缓冲区(主屏幕)上进行交互,就像任何文本会话/冒险一样,但是以这种方式调用我的defun'ed函数。

所以我需要一个基本的elisp骨架来制作自定义REPL。 目标是使用自然语言制作助手,然后解析导师,并根据规则进行一些操作。

感谢您的时间,

史蒂夫,

查看ielm,这是emacs附带的elisp repl。

根据缓冲区中可以进行的操作,您是否可以通过适当的重新绑定return给它一个主模式? (这个答案含糊地受到了Lisp-Interaction-Mode的Cj的启发)

你应该绑定所有用于移动缓冲区的键,如Cp Cn,Up Down Arrows / page up / down只需将它们绑定到(lambda ()) 如果光标位置在行的开头或结尾,则更改Cb和Cf(左右箭头)的功能。 并将Return键绑定到从当前行读取当前行到可选提示的函数(可以使用Regex删除提示)使用该字符串执行任何操作,然后转到缓冲区中的下一行并打印结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM