首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs Lisp:如何使用REPL实现交互式缓冲区?

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

Stack Overflow用户
提问于 2011-01-16 23:26:19
回答 3查看 1.7K关注 0票数 8

想象一下dunnet.el游戏、伊莱扎医生或IELM模式……;这就是在主缓冲区上评估答案并提示新问题,然后根据它们的elisp规则执行一些操作。

我想创建一个类似交互式助手的东西,但不像(交互式)那样从minibuffer中提示(不做M-x)……我需要一种REPL循环。所以我的问题是如何在工作缓冲区(主屏幕)上获得交互,就像任何文本对话/冒险一样,但要以这种方式调用我的defun‘’ed函数。

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

谢谢您抽时间见我,

史蒂夫,

EN

回答 3

Stack Overflow用户

发布于 2011-01-17 00:54:12

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

票数 5
EN

Stack Overflow用户

发布于 2011-01-17 00:14:59

根据你的缓冲区中可能发生的事情,你可以只给它一个主模式,并适当地重新绑定return吗?(这个答案受到Lisp-Interaction-Mode的C-j的启发)

票数 2
EN

Stack Overflow用户

发布于 2011-01-24 06:12:30

你应该绑定所有用于在缓冲区中移动的键,比如C-p,C-n,向上向下箭头/页面向上/向下,只需将它们绑定到(lambda ())即可。如果光标位置在行首或行尾,则更改C-b和C-f (左、右箭头)的功能。并将返回键绑定到函数,该函数从头到尾读取当前行到可选提示(您可以使用Regex删除提示),对该字符串执行任何操作,然后转到缓冲区中的下一行并打印结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4706168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档