标签: slime

我可以使用同一个emacs中的两个不同的lisp + slime/swank吗?

我可以同时在emacs中使用常见的lisp和Clojure吗?我想将每个lisp-REPL放在自己的缓冲区中,如果我这样做,我怎么能控制哪个缓冲区将其数据发送到哪个lisp?

lisp emacs clojure slime

14
推荐指数
1
解决办法
1435
查看次数

在slime REPL中使用clojure.contrib函数

我想在REPL的slime中使用clojure.contrib.trace命名空间中的函数.如何让粘液自动加载?一个相关的问题,如何将特定的命名空间添加到正在运行的repl中?

在clojure.contrib API上,它描述了这样的用法:

(ns my-namespace
  (:require clojure.contrib.trace))
Run Code Online (Sandbox Code Playgroud)

但是将其添加到我的代码会导致无法使用跟踪命名空间中的任何函数加载"无法解析符号"错误的文件.

我使用leiningen'lein swank'启动ServerSocket,project.clj文件看起来像这样

 (defproject test-project "0.1.0"
   :description "Connect 4 Agent written in Clojure"
   :dependencies [[org.clojure/clojure "1.2.0-master-SNAPSHOT"]
                  [org.clojure/clojure-contrib "1.2.0-SNAPSHOT"]]
   :dev-dependencies [[leiningen/lein-swank "1.2.0-SNAPSHOT"]
                      [swank-clojure "1.2.0"]])
Run Code Online (Sandbox Code Playgroud)

一切似乎都是最新的,即'lein deps'不会产生任何变化.那么这是什么一回事?

clojure slime

14
推荐指数
1
解决办法
4364
查看次数

(Emacs)文字是只读的吗?

所以我在emacs工作,突然,slime-repl sbcl说文本是只读的.那很好,因为现在我不能输入任何东西.我该如何解决?

lisp emacs sbcl slime

14
推荐指数
3
解决办法
4504
查看次数

如何优雅地退出SLIME和Emacs?

当我退出Emacs时,我有一个关于如何"优雅地退出SLIME"的问题.这是我的配置文件的相关部分:

;; SLIME configuration

(setq inferior-lisp-program "/usr/local/bin/sbcl")
(add-to-list 'load-path "~/Scripts/slime/")
(require 'slime)
(slime-setup)

;; configure SLIME to gracefully quit when emacs
;; terminates

(defun slime-smart-quit ()
  (interactive)
  (when (slime-connected-p)
    (if (equal (slime-machine-instance) "Gregory-Gelfonds-MacBook-Pro.local")
 (slime-quit-lisp)
      (slime-disconnect)))
  (slime-kill-all-buffers))

(add-hook 'kill-emacs-hook 'slime-smart-quit)
Run Code Online (Sandbox Code Playgroud)

据我所知,每当我退出Emacs时,这应该会自动杀死SLIME及其关联的进程.但是,每次我退出时,我仍然得到提示:

Proc       Status   Buffer  Command
----       ------   ------  -------
SLIME Lisp    open      *cl-connection* (network stream connection to 127.0.0.1)
inferior-lisp run      *inferior-lisp* /usr/local/bin/sbcl


Active processes exist; kill them and exit anyway? (yes or no) 
Run Code Online (Sandbox Code Playgroud)

有人可以从我的配置中找到我缺少的东西吗?

提前致谢.

emacs elisp slime dot-emacs

13
推荐指数
3
解决办法
8085
查看次数

如何在Clojure正则表达式中使用unicode(UTF-8)字符?

这对你来说是一个双重问题,非常棒的Stacked Overflow Wizards.

  1. 如何在与Clojure交谈时将emacs/slime/swank设置为使用UTF-8,或者在命令行REPL中使用UTF-8?目前我无法向swank-clojure发送任何非罗马字符,并且使用命令行REPL会使事情变得糟糕.

  2. 在拉丁文本上做正则表达式真的很容易:

    (re-seq#"[\ w] +""日语句子真的不需要空格吗?")

但是,如果我有一些日本人怎么办?我认为这会起作用,但我无法测试它:

(re-seq #"[(?u)\w]+" "??? ? ?? ? ? ???? ? ?? ?? ??? ???")
Run Code Online (Sandbox Code Playgroud)

如果我们必须使用字典来查找单词中断,或者自己找到一个只有片假名的单词,那就更难了:

(re-seq #"[?????-?]" "???????????????????????")
Run Code Online (Sandbox Code Playgroud)

谢谢!

unicode emacs clojure slime utf-8

12
推荐指数
2
解决办法
5544
查看次数

Emacs(Cocoa Emacs)与Aquamacs在Mac OS X上运行Clojure

到目前为止我使用了Aquamacs,我需要使用SLIME安装和运行Clojure.我用谷歌搜索了一些方法在Aquamacs的SLIME上使用Clojure,但没有成功.

问题

  1. 可以在Aquamacs上安装Clojure吗?或者,你能猜出为什么Aquamacs上的Clojure不起作用吗?
  2. Emacs和Aquamacs不能共享同一个ELPA是正常的吗?
  3. 是否可以使用ELPA在Emacs/Aquamacs上安装Conjure?
  4. 我被告知可以使用'lein swank'作为服务器运行,你知道怎么做吗?

我试过的序列(一半成功)

我尝试使用Mac OS X Emacs,并按照我可以使其工作的步骤.我的意思是,我可以用SLIME运行Clojure.

适用于Mac OS X的Emacs

步骤1)安装ESK.

  • Git克隆并将所有文件复制到.emacs.d目录中
  • 添加以下代码.emacs并重新启动
    (when
        (load
         (expand-file-name "~/.emacs.d/package.el"))
      (package-initialize))

步骤2)使用ELPA安装

  • Mx package-list-packages用于选择包
  • 安装
    • clojure-mode,clojure-test-mode
    • 史莱姆,史莱姆
    • 自吹,Clojure的
  • Mx粘液安装clojure
  • 添加以下代码.emacs并重新启动
;; clojure mode
(add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/clojure-mode-1.7.1")
(require 'clojure-mode-autoloads)
(add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/clojure-test-mode-1.4")
(require 'clojure-test-mode-autoloads)

;; slime
;(setq inferior-lisp-program "/Users/smcho/bin/clojure")
(add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/slime-20100404")
(require 'slime-autoloads)
(add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/slime-repl-20100404")
(require 'slime-repl-autoloads)

;; swank-clojure …

emacs aquamacs clojure slime elpa

12
推荐指数
1
解决办法
5856
查看次数

在使用leiningen和swank/slime的emacs中运行clojure测试时停止无限循环

在某些类型的代码中,相对容易在不吹动堆栈的情况下导致无限循环.使用clojure-test测试这种性质的代码时,有没有办法在不重启swank服务器的情况下中止当前运行的测试?

目前我的工作流程涉及到

$ lein swank
Run Code Online (Sandbox Code Playgroud)

使用emacs连接到swank slime-connect,然后切换到测试,执行C-c C-,,测试运行直到无限循环,然后返回,但是一个cpu仍然在测试中流失.我发现阻止这种情况的唯一方法是重新启动lein swank,但似乎这是一个相对常见的问题?谁有更好的解决方案?

emacs clojure slime swank leiningen

12
推荐指数
1
解决办法
2475
查看次数

在emacs中设置SLIME

我正在尝试安装SLIME.我下载了压缩包,根据README文件,我不得不把这段代码放在.emacs文件中:

(add-to-list 'load-path "~/hacking/lisp/slime/")  ; your SLIME directory
(setq inferior-lisp-program "/opt/sbcl/bin/sbcl") ; your Lisp system
(require 'slime)
(slime-setup)
Run Code Online (Sandbox Code Playgroud)

slime目录很简单.关于Lisp系统.我怎么找到它?

lisp emacs common-lisp slime

12
推荐指数
2
解决办法
8730
查看次数

跳转到Emacs + Slime/leiningen-Swank + Clojure中的函数定义

我正在使用带有clojure模式的Emacs和连接到运行生成的swank服务器的粘液,lein swank并且非常希望能够轻松跳转到我的项目中的函数定义.我是否可以在每次更改分支时手动重建标记时执行此操作?

emacs clojure slime leiningen

11
推荐指数
1
解决办法
2273
查看次数

如何在Clojure repl中自动扩展或自动完成函数和变量

有没有办法在Clojure repl中扩展当前命令,就像我能在Common Lisp中做的那样?

比如说我输入了:

Math/
Run Code Online (Sandbox Code Playgroud)

我希望tab键扩展到该命名空间中的所有可用变量和函数.

我正在使用Clojure作为劣质lisp想知道如何通过Clojure中的普通香草代表和swank slime来做到这一点.

emacs autocomplete clojure slime

11
推荐指数
1
解决办法
4291
查看次数