我设置了一个 vim 函数,可以在其中突出显示一行文本并在 clojure 中执行。这是功能:
function! Clojure_execline()
let cl = (getline(line(".")))
// ...
exec 'clojure -e "' . cl . '"'
endfunction
这样做的问题是启动速度很慢,而且因为每次运行它都会产生一个新的 clojure 会话,所以我无法调用以前运行的函数。理想情况下,我希望运行一个隐藏的 repl,我可以从 vim 发送输入并从中检索输出。我了解了 gnu screen 并认为它可以帮助我,但我不知道如何将输入从一个屏幕窗口发送到另一个屏幕窗口。
为了澄清我的问题,请使用这行 clojure:
(defn add2 [x y] (+ x y))
我希望能够在 vim 中突出显示这一行并在运行的 repl 中执行。我希望能够调用下面的行并让它在同一个 repl 中执行:
(add2 4 5)
之后,我希望能够获得函数的输出。
所以,基本上,我的问题是,我如何将输入从一个屏幕窗口发送到另一个?