首页 文章

如何保存我在LispBox / Slime中输入的所有函数?

提问于
浏览
6

情况:我在Emacs中使用REPL时输入了几个函数 . 问题:当我只是保存缓冲区时,有像“;评估中止”这样的垃圾 . 我想要的:清楚地描述我在最新版本中输入的所有功能 .

我能这样做吗?谢谢 .

4 回答

  • 5

    我同意最好的工作流程方法是将代码写在一个单独的缓冲区中并进行评估,而不是在repl中输入函数 .

    假设你已经采用了repl方式,我想,C . Martin的保存repl日志并手动完成它的解决方案是你唯一的选择 .

    如果您将函数和变量输入到单独的包中,则可以浏览包中的符号以帮助您确定要保留的内容 .

    例如 . 查看cl-user包中创建的所有符号:

    (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)))
    
  • 4

    我不明白 . 您是否在REPL中输入定义并希望以后恢复它们?只需保存源文件,就像使用任何其他语言一样 . 使用C-x 2将您的Emacs窗口分成两部分 . 在其中一个C-x C-f foo.lisp中打开一个源文件 . 使用C-c C-k,C-c C-r和朋友(参见SLIME菜单)在REPL中编译/评估源代码的区域 .

  • 5

    我过去一直在找这样的东西而且找不到它 . 您最好在单独的缓冲区中编写所有定义并使用SLIME广泛的评估/编译功能(Cc Ck加载整个文件,Cx Ce评估最后一个表达式,Cc Cr评估区域等),只能直接进入REPL你不想保存的东西 .

  • 3

    嗯, C-x oC-x b 进入SLIME REPL缓冲区,然后 C-x wC-x C-s 将其保存到文件中 . 所有SLIME / CL都是读者评论;您可以编写读者黑客来重新加载文件,将提示视为注释,或者您可以自己浏览文件以捕获要保存的文件 .

相关问题