如何在vim上设置REPL?

时间:2009-07-02 07:43:08

标签: vim clojure

我已经安装了vimclojure,以便更容易开始学习clojure。但是,我无法在vim中设置REPL。这主要是因为我无法在vim(?)

中编写maplocalleader

基于vimclojure / doc / clojure.txt中的文档,我将以下内容放在我的.vimrc中以启动REPL -

:map <LocalLeader>sr *sr* *StartRepl*

但输入“sr”不会启动REPL。

提前致谢。

11 个答案:

答案 0 :(得分:5)

在完全定义VimClojure映射之前,插件中很可能发生错误。

当Clojure源文件加载到Vim缓冲区时,Clojure源文件存在语法错误,这种情况可能会发生多次。

在加载源文件(语法突出显示或某些东西)期间,插件中出现了一些错误,这些错误会导致错误被定义。

这可能只是VimClojure的一个不幸的问题,应该报告,但我没有时间去挖掘并记录智能错误报告/补丁。

要进行故障排除,在当前缓冲区中打开Clojure源文件,请尝试执行以下操作:

:call vimclojure#Repl.New()

这将调用插件中映射到\ sr的函数。这不是推荐使用Repl的推荐方式,但由于我们只是对您的配置进行故障排除,因此希望它能为您揭示有意义的内容。

此外,请执行此操作以查看是否有任何有用的消息被记录。

:messages

答案 1 :(得分:4)

<LocalLeader>使用maplocalleader变量中的值,或者默认为反斜杠。如果您未设置maplocalleader变量,请尝试\sr

答案 2 :(得分:4)

我发现vim-fireplace插件更容易在Vim中开始学习Clojure。好的介绍可以在"Unboxing vim-fireplace"找到。

答案 3 :(得分:3)

我的.vimrc中没有sr的映射,但它适用于我。

您是否检查过您的Nailgun服务器正在运行,并且您已打开Gorilla?

如,

let clj_want_gorilla = 1
let vimclojure#NailgunClient = "/Users/foo/vimclojure-2.1.0/ng"

答案 4 :(得分:3)

可以使用Conque,一个支持在vim缓冲区中运行shell的vim插件。我已成功使用它在vim中运行clojure REPL。它支持分屏,因此可以将代码从clojure源代码缓冲区发送到clojure REPL。

答案 5 :(得分:2)

我发现如果找不到NailgunClient,VimClojure将无声地失败,并且没有&lt; LocalLeader&gt;命令将起作用。我基本上只是重复上面的Joe Holloway,但是试试这个来验证Nailgun客户端是否真的找到了:

:call vimclojure#Repl.New()

在我的情况下,我忘了构建客户端,所以我只是回到解压缩的VimClojure文件夹并运行make。这会创建ng,即nailgun客户端可执行文件。确保它位于PATH某处,或设置

let vimclojure#NailgunClient = "/Users/foo/vimclojure-2.1.0/ng"

如上所述。

答案 6 :(得分:1)

你不需要按,先生?我认为LocalLeader是默认的逗号。

答案 7 :(得分:0)

您是否尝试将其映射到其他内容?看起来你不确定LocalLeader映射到了什么,所以我建议你改变你的映射。

答案 8 :(得分:0)

我用以下方法解决了E10问题:set nocompatible。然后\ sr等命令工作正常。

答案 9 :(得分:0)

使用Nailgun server is how I've done it设置VimClojure。我使用leiningen来帮助管理类路径。这是一个相当复杂的过程,但是一旦你设置它就很好。

答案 10 :(得分:0)

除了使用正确的本地领导键(默认情况下为“\” - &gt; \sr)之外,请注意,为了让VimClojure启动一个repl,需要在一个clojure文件中加载一个缓冲。如果你只是启动vim并点击\sr什么都不会发生,因为VimClojure尚未激活。

您可以通过编辑具有clj扩展名的文件来激活VimClojure。从内部vim: :e test.clj

现在当你点击\sr时,repl应该会打开。如果没有,请参阅有关检查隐藏错误消息的其他答案。

本教程是截至撰写本文时的最新版本,并帮助我在OSX中与Leiningen建立了VimClojure:https://github.com/daveray/vimclojure-easy

“下一步”部分中链接的更高级设置也很有帮助。