我试着在ubuntu上玩泛音,但我不能在Vim中验证一些泛音的代码。
:Eval适用于clojure代码;我在vim ( lein项目目录中的一个clj文件)中尝试过,ex:(+ 12 3) => :Eval =>出现在vim窗口=> 6的底部,所以没有问题。
但是,例如,我试过:
(demo(sin-osc)) => :Eval ;(:Require don't change nothing)它返回:
java.lang.RuntimeException: Unable to resolve symbol: demo in this context, comp
iling:(NO_SOURCE_PATH:1:1)所以我要做的是:
谢谢你的帮助,因为我真的很想用泛音!
Ps:我的维姆包:
捆绑“枪支/vim-clojure-静态”
包‘tpope/vim-壁炉’
包‘tpope/vim-类路径’
编辑:我忘了使用正确的命名空间,在overtone的google组中,我看到mytest.clj必须位于项目的src目录中。我尝试了以下代码:Require (我在启动lein的第一个窗口中停止了泛音):
(ns tutorial.foo
(:use [overtone.live]))
(definst saw-wave [freq 440 attack 0.01 sustain 0.4 release 0.1 vol 0.4]
(* (env-gen (lin-env attack sustain release) 1 1 0 1 FREE) (saw freq) vol))
(saw-wave),但它回来了:
(clojure.core/require 'tutorial.foo :reload)
Erreur détectée en traitant function <SNR>17_Require..fireplace#session_eval..<S
NR>17_eval..7 :
ligne 38 :
E605: Exception non interceptée : Error running Clojure: *** ERROR: open directo
ry failed '/usr/java/packages/lib/amd64'^@*** ERROR: dlsym load err '/usr/lib/jn
i/libswt-gtk-3836.so: undefined symbol: load'^@*** ERROR: dlsym load err '/usr/l
ib/jni/libswt-glx-gtk-3836.so: undefined symbol: load'^@*** ERROR: dlsym load er
r '/usr/lib/jni/libswt-webkit-gtk-3836.so: undefined symbol: load'^@*** ERROR: d
lsym load err '/usr/lib/jni/libswt-atk-gtk-3836.so: undefined symbol: load'^@***
ERROR: dlsym load err '/usr/lib/jni/libswt-pi-gtk-3836.so: undefined symbol: lo
ad'^@*** ERROR: dlsym load err '/usr/lib/jni/libswt-cairo-gtk-3836.so: undefined
symbol: load'^@*** ERROR: dlsym load err '/usr/lib/jni/libswt-awt-gtk-3836.so:
undefined symbol: load'^@*** ERROR: dlsym load err '/usr/lib/jni/libswt-gnome-gt
k-3836.so: undefined symbol: load'^@#^@# A fatal error has been detected by the
Java Runtime Environment:^@#^@# SIGSEGV (0xb) at pc=0x00007f5d261db671, pid=693
1, tid=140036632291072^@#^@# JRE version: 7.0_25-b30^@# Java VM: OpenJDK 64-Bi发布于 2013-11-11 16:03:30
我也有同样的问题。原来,vim壁炉插件并没有连接到我的bash会话。我手动建立了连接,之后一切都很正常。
在lein会话的顶部,您应该看到有关repl会话在哪个端口上运行的详细信息。
nREPL server started on port 35182 on host 127.0.0.1
因此,您可以通过以下方法将vim-壁炉连接到该repl会话
:Connect nrepl://localhost:35182
即使没有连接到远程repl会话,仍然可以计算像(+ 1 2 3)这样的代码的原因是,vim-classpath将使其返回到生成一个新的clojure运行时实例来计算该代码。一旦壁炉- repl连接正常工作,您应该注意到,评估代码变得更快了,因为它不需要从零开始加载clojure。
发布于 2013-09-22 05:37:11
确保在vim中编辑的文件的命名空间声明中使用了overtone.live,并且REPL运行在一个单独的终端实例中。从vim中,保存文件(:w),并将光标移动到ns声明中。然后点击gf打开名称空间的文件。输入cpR或:要求!然后是cpp或:Eval您试图运行的函数。希望这对你有用!祝你好运。
https://stackoverflow.com/questions/18901518
复制相似问题