簡體   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