情況:我在使用Emacs中的REPL時輸入了幾個函數。 問題:當我簡單地保存緩衝區時,有像「;評估中止」的垃圾。 我想要的:清楚地描述了我在最新版本中輸入的所有功能。如何保存我在LispBox/Slime中輸入的所有功能?
我可以這樣做嗎?謝謝。
情況:我在使用Emacs中的REPL時輸入了幾個函數。 問題:當我簡單地保存緩衝區時,有像「;評估中止」的垃圾。 我想要的:清楚地描述了我在最新版本中輸入的所有功能。如何保存我在LispBox/Slime中輸入的所有功能?
我可以這樣做嗎?謝謝。
我同意最好的工作流程方法是將你的代碼寫入一個單獨的緩衝區,並在那裏評估,而不是在repl中輸入函數。
假設你已經採用repl的方式,我想,C. Martin的解決方案可以保存repl日誌並手動通過它,這是你唯一的選擇。
如果您將函數和變量輸入到單獨的包中,您可以通過包中的符號來幫助您決定要保留的內容。
E.g.看到在cl用戶包創建的所有符號:
(let ((p (find-package :cl-user)))
(loop
for s being the symbols in p
when (eq p (symbol-package s))
do (format t "~a~%" s)))
我不明白。您是否在REPL中輸入定義並希望稍後恢復它們?就像保存任何其他語言一樣保存源文件。使用C-x 2將Emacs窗口分成兩部分。在其中一個C-x C-f foo.lisp中打開源文件。使用C-C C-K,C-C C-R和朋友(參見SLIME菜單)在REPL中編譯/評估源代碼的區域。
我在過去找過這樣的東西,一直找不到它。您最好將所有定義寫入單獨的緩衝區,並使用SLIME廣泛的評估/編譯函數(Cc Ck加載整個文件,Cx Ce評估最後一個表達式,Cc Cr評估區域等),直接進入REPL你不想保存的東西。
恩,C-x o
或C-x b
到達SLIME REPL緩衝區,然後C-x w
或C-x C-s
將其保存到文件。所有SLIME/CL的內容都是讀者評論;你可以寫一個閱讀器黑客來重新加載處理提示的文件作爲註釋,或者你可以通過文件自己來捕獲你想要保存的作品。
我知道我應該意識到這一點。當我們談到Emacs時,我想我仍然有點睜大眼睛。謝謝! – dogenpunk 2013-01-08 05:56:15