![](/img/trans.png)
[英]Is there some way to automate connections to nREPL from Vim Fireplace?
[英]Automate running several vim commands and keystrokes
我想在vim中自動運行幾個命令,即輸入:repl
。 命令是:
:ConqueTerm lein repl
<Esc>
:set syntax=clojure
<i>
如何定義執行上述操作的自定義vim函數(命令)?
關於以上內容:
clojure
- Clojure編程語言(由vim-clojure-static提供的語法 ConqueTerm
- 一個vim插件,在您的vim緩沖區中以交互方式運行shell lein
- Leiningen ,一個Clojure構建工具 你可以創建一個函數,並將命令放在該函數中:
fun! LeinCMD()
execute 'ConqueTerm lein repl'
execute 'set syntax=clojure'
execute 'normal! i'
endf
command! Repl call LeinCMD()
你可以找到上面的代碼,然后輸入:Repl
和Enter
來測試它是否適合你。
編輯
@Zyx非常好的評論。 我只是把它們放回答,這樣讀者將來不會錯過有價值的信息。
:execute
這里:execute
調用。 :normal!
我沒用,從函數開始插入模式有:startinsert和:調用feedkeys(),前者應該是首選。 //注意:normal! i
:normal! i
在這里“工作”是因為: startinsert
由:ConqueTerm
運行。 即由於Conque編寫的方式你不需要:startinsert
,但如果它還沒有:normal! i
:normal! i
會繼續做任何有用的事情。 剛才提到:使用command -bar
會好得多:這樣你就不需要了:execute
用管道符號鏈接你的命令(嘗試Repl | echo "Here"
有和沒有-bar作為第二個參數:command
)。 我認為這是默認選項,不知道為什么Bram喜歡在很多地方都有錯誤的默認值。
你有沒有嘗試過?
function custom_function ()
execute 'ConqueTerm lein repl'
execute 'set syntax=clojure'
return custom_function
endfunction
我不知道這段代碼是否有用,因為我還沒有測試過
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.