标签: slime

有没有快速的方法连接clojure swank和粘液在emacs快速重播?

我有一个问题:

当我使用带有clojure和elein(leiningen扩展名)的emacs时,我将我的代码写入文件中,然后我需要连接到swang,我输入"elein swank"并打开conexion ... 2步)我打开一个repl ... 3)我输入slime-connect(并按y两次)4)这一步真的很烦人:我需要使用我的文件或更改命名空间...

到目前为止一直这么好..问题是如果我的文件里面有一点错误(也许是一个括号)现在我侮辱我的代码,我重复所有步骤......再次!

对我来说,这真的很烦人,我真的很喜欢emacs,我已经使用了很长时间并且是最好的编辑器,但是将它与netbeans(今天我试试......这很好但是它的重复...)与netbeans相比较我只需要点击一下即可完成所有这些步骤......

我可以按"加载文件",这将加载我的文件在repl ....严重!! 如果我按下NS中的别名/文件,它会打开repl并更改命名空间......太好了

现在..我的问题是,是否有可能在emacs内创建一个命令,而不是make everything..maybe,这将是非常好的..一个命令,而不是打开一个repl并加载我的文件或我的ns ...将是伟大的...这有可能吗?...有人这样做吗??谢谢

非常感谢有一个美好的一天!

emacs clojure slime leiningen

4
推荐指数
1
解决办法
330
查看次数

使用swank-clojure攻击Clojure库的工作流程

是否存在针对Clojure库进行黑客攻击的典型工作流程?

假设我的应用程序"Foo"依赖于第三方库"Bar",它是从存储库中获取的,并包含在项目Foo via中lein deps.

然后,说我想破解库"Bar",所以我从github克隆它.

现在,我想破解我的本地克隆"Bar",同时处理取决于它的应用程序"Foo".我希望使用swank的一个实例,在"Eoo"中打开所有"Bar"的源文件以及"Foo"中的所有源文件.

是否有捷径可寻?

我想改变我的环境而不是项目.因此,我不想为"Foo"编辑project.clj以实现此目的.

这是否需要在启动之前设置类路径lein swank,还是有更好的方法?

workflow clojure slime swank leiningen

4
推荐指数
1
解决办法
275
查看次数

Emacs / Slime / 硬编码垂直分割比

我目前处于模式:Cx 2

通常,我不太关心垂直拆分。但是,我在 13" 显示器上编码,这使得垂直空间相当宝贵。

我想要一些设置,当我执行 Cx 2 时,我的窗口不是 50/50,而是 70/30 [这样我就可以将 repl 发送到屏幕的底部,并且会看到很多代码.]

垂直分割

提出:

垂直拆分窗口,垂直拆分表

但是,我怀疑有一些参数会改变/控制分流比。

什么 emacs 选项告诉我的计算机拆分 70/30 而不是 50/50?

谢谢!

emacs slime

4
推荐指数
1
解决办法
864
查看次数

如何在开发中的SLIME中快速重新加载和重新启动

我开始使用emacs和slime来开发一些小服务.

我找到了一种在更改后重新加载代码的方法,但我希望这更方便,更快捷.

这就是我现在的做法:

  • 1)启动emacs,启动粘液,然后在粘液中:

    2)(加载"init.lisp"); 加载一些不会改变的初始化代码

    3)(加载"myseervice.lisp"); 这包含了我正在处理的代码

    4)(myservice:start)

    5)此时看门人正在运行,我可以测试它.然后我对myseervice.lisp进行了修改,以修改它.要将代码交换到新版本,我执行此操作:

    6)(myservice:停止)

    7)(加载"myservice.lisp")

    8)转到4)重新开始...


这项工作到目前为止.但手动停止,重新加载和启动并不好玩.并且在调用之间的粘液中有很多输出,因此重用以前键入的命令并不容易4)-7).

为了得到一个解决方案,我启动了一个devhelper包,它应该只在一个命令中为我做这个,但它不起作用:

(defpackage :devhelper
  (:use :common-lisp :myservice)
  (:export :start :reload))

(in-package :devhelper)

(defun start ()
  (myservice:start))

(defun reload ()
  (myservice:stop)
  (load "myservice.lisp") ;I think it is not possible to load it here, 
                          ;because this module is using the file that it is just loading
                          ;But it does not have to work this way, 
                          ;I just like any good solution
  (myservice:start))
Run Code Online (Sandbox Code Playgroud)

我想我现在可以这样做:

  • 1)启动emacs,启动粘液,然后在粘液中:

    2)(加载"init.lisp"); 加载一些不会改变的初始化代码

    3a)(加载"myseervice.lisp"); 这包含了我正在处理的代码

    3b)(加载"devhelper.lisp") …

lisp emacs sbcl common-lisp slime

4
推荐指数
1
解决办法
1278
查看次数

Windows 7上的SLIME

我正试图在Windows 7机器上安装SLIME,但是运行M-x slime会给我错误

Spawning child process: invalid argument
Run Code Online (Sandbox Code Playgroud)

inferior-lisp-program设置为"C:\\Program Files\\ccl\\wx86cl.exe"(事实上​​是正确的,并且运行(comint-run inferior-lisp-program)给了我一个工作的CCL提示),并且slime目录已添加到我的'load-path.

我究竟做错了什么?

编辑:尝试通过Windows版本的lispbox加载相同的环境,它运行SLIME罚款.我宁愿不使用那个,因为它包装了比我想要的旧Emacs,CCL和SLIME.

emacs common-lisp slime windows-7

4
推荐指数
1
解决办法
1984
查看次数

常见的lisp帮助相当于python中的帮助

在python解释器中,可以简单地键入help("name")以访问文档name.

  1. common-lisp REPL(我正在使用SBCL)中的等价物是什么?
  2. 请注意,我在emacs 24.3中使用SLIME

提前致谢.

emacs common-lisp slime read-eval-print-loop

4
推荐指数
1
解决办法
110
查看次数

如何防止粘液在某些错误上启动sldb?

从连接Slime的Clack/Hunchentoot提供大文件时,我有时会看到错误消息,如SB-IMPL :: SIMPLE-STREAM-PERROR"无法写入~s"......这些是由浏览器过早掉线造成的(这完全可以).问题是,每次发生时,SLDB都会弹出.这很烦人.

有没有办法可以抑制SLDB中的某些错误,如上所述?我仍然希望在错误日志中看到它们,但绝对不是在SLDB中.

emacs sbcl common-lisp slime hunchentoot

4
推荐指数
1
解决办法
213
查看次数

如何获取对Emacs Slime中最后返回的对象的引用

使用Emacs Slime,如何访问REPL中最后一个表达式返回的对象或值?

在ipython中,_如果返回值是我所期望的,我可以将它保存在变量中.

Slime有类似的东西吗?

lisp emacs common-lisp slime read-eval-print-loop

4
推荐指数
2
解决办法
273
查看次数

在emacs/slime实时环境中自动重新编译

鉴于这种情况:

(defmacro mac1 ...)

(defun func1 () 
  (mac1 ...))
Run Code Online (Sandbox Code Playgroud)

mac1在实时环境中重新定义在func1其自身重新编译之前不会受到影响.

有没有办法让emacs或lisp在重新编译func1时自动重新mac1编译?

在源代码中这样的东西是可以接受的:

(watch
  (defmacro mac1 ...))

(on-signal (mac1)
  (defun func1 ...))
Run Code Online (Sandbox Code Playgroud)

这并不难实现,但我宁愿避免重新发明.

emacs macros common-lisp slime

4
推荐指数
1
解决办法
94
查看次数

如何使用 Common Lisp 有点像 smalltalk 图像

目标

我想有我的Common Lisp(SBCL + GNU Emacs的+煤泥)环境是有点像一个Smalltalk的形象,我想有一个大泥球的包,最好的项目举办的所有我的代码。换句话说,我save-lisp-and-die在 Emacs 中设置了 Lisp 以显示保存的图像。我迷路的地方是让它与 Swank 一起工作的合适方法。

问题

我相信在save-lisp-and-die. 但是它似乎有点脆弱,因为在更改我的 SBCL 版本或 Slime 版本时,它似乎会引发版本不匹配。

我错过了什么吗?人们是以这种方式工作还是倾向于将更独立的项目作为 ASDF 下的一组可加载的包?

我真的很怀念 Smalltalk 的方式,感觉每个项目的 ASDF 有点笨重,而且更植根于文件系统。相比之下,它让我想起了其他所有语言及其应用程序/项目方向。OTOH 依赖包的重新版本似乎更稳定一些。好吧,跨语言的整个版本控制地狱是另一回事。

任何提示如何做我想做的事或为什么这不是一个好主意将不胜感激。

common-lisp slime

4
推荐指数
1
解决办法
438
查看次数