[英]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等命令工作正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.