簡體   English   中英

如何在vim上設置REPL?

[英]How do I setup REPL on vim?

我已經安裝了vimclojure,以便更容易開始學習clojure。 但是,我無法在vim中設置REPL。 這主要是因為我無法在vim(?)中編寫maplocalleader

基於vimclojure / doc / clojure.txt中的文檔,我將以下內容放在我的.vimrc中以啟動REPL -

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

但輸入“sr”不會啟動REPL。

提前致謝。

在完全定義VimClojure映射之前,插件中很可能發生錯誤。

當Clojure源文件加載到Vim緩沖區時,會出現語法錯誤,這種情況可能會發生多次。

在加載源文件(語法突出顯示或某些東西)期間,插件中發生了一些錯誤,這些錯誤會導致錯誤被定義。

這可能只是VimClojure的一個不幸的問題,應該報告,但我沒有時間挖掘足夠的數據並記錄智能錯誤報告/補丁。

要進行故障排除,在當前緩沖區中打開Clojure源文件,請嘗試執行以下操作:

:call vimclojure#Repl.New()

這將調用插件中映射到\\ sr的函數。 這不是推薦使用Repl的推薦方式,但由於我們只是對您的配置進行故障排除,因此希望它能為您揭示有意義的內容。

此外,這樣做是為了查看是否有任何有用的消息被記錄。

:messages

<LocalLeader>使用maplocalleader變量中的值,或者默認為反斜杠。 如果你沒有設置maplocalleader變量try \\sr

我發現vim-fireplace插件更容易開始在Vim中學習Clojure。 好的介紹可以在“Unboxing vim-fireplace”中找到

我的.vimrc中沒有sr的映射,但它對我有用。

您是否檢查過您的Nailgun服務器正在運行,並且您已打開Gorilla?

例如,

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

可以使用Conque ,一個支持在vim緩沖區中運行shell的vim插件。 我已成功使用它在vim中運行clojure REPL。 它支持分屏,因此可以將代碼從clojure源代碼緩沖區發送到clojure REPL。

我發現如果找不到NailgunClient,VimClojure將無聲地失敗,並且<LocalLeader>命令都不起作用。 我基本上只是重復上面的Joe Holloway,但是試試這個以確認實際找到了Nailgun客戶端:

:call vimclojure#Repl.New()

在我的情況下,我忘了構建客戶端,所以我只是回到解壓縮的VimClojure文件夾並運行make 這創建了ng ,nailgun客戶端可執行文件。 確保它在某個地方的PATH ,或設置

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

正如剛才提到的。

你不需要按,先生? 我認為LocalLeader是默認的逗號。

你有沒有嘗試將它映射到其他東西? 看起來你不確定LocalLeader映射到了什么,所以我建議你改變你的映射。

除了使用正確的本地領導鍵(默認情況下為“\\” - > \\sr )之外,請注意,為了讓VimClojure啟動一個repl,需要在緩沖區中加載一個clojure文件。 如果你只是啟動vim並點擊\\sr就不會發生任何事情,因為VimClojure尚未激活。

您可以通過編輯具有clj擴展名的文件來激活VimClojure。 從vim里面:e test.clj

現在當你點擊\\sr ,repl應該打開。 如果沒有,請參閱有關檢查隱藏錯誤消息的其他答案。

本教程是截至撰寫本文時的最新版本,並幫助我在OSX中與Leiningen建立了VimClojure: https//github.com/daveray/vimclojure-easy

在“下一步”部分中鏈接的更高級設置也很有幫助。

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

使用Nailgun 服務器獲取VimClojure 是我如何做到的 我使用leiningen來幫助管理類路徑。 這是一個相當復雜的過程,但是一旦你完成它就很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM