我不是在寻找 IDE 或集成的 REPL。我只是想问一下是否有人知道是否可以在 REPL 中有一个缓冲区编辑器,就像从 'psql' 或某些 *nix shell 中知道的那样。
例如,在 psql 中,您只需输入“\e”,您将在 EDITOR 中获得最后一个命令,并在退出时执行它。
这对于 clojure repl 来说太棒了。
$ java -cp jline.jar:clojure-1.3.0.jar jline.ConsoleRunner clojure.main
那么,有这样的功能吗?在 jline 中必须在哪里实施?
解决方案:
rlwrap 可以解决问题。
我必须编译 readline ftp://ftp.gnu.org/gnu/readline/然后 rlwrap http://utopia.knoware.nl/~hlub/rlwrap/#rlwrap。
之后,我可以使用以下快捷方式启动编辑器。
Ctrl + ^
rlwrap -m -- java -cp clojure-1.3.0.jar clojure.main
为了在 Mac OSX 上使用 leiningen,我必须更改以下内容:
lein 1.6.2
*** 226,233 ****
rlwrap -m -q '"' echo "hi" > /dev/null 2>&1
if [ $? -eq 0 ]; then
RLWRAP="$RLWRAP -r -m -q '\"'"
- else
- RLWRAP="$RLWRAP -m --"
fi
fi
fi
--- 226,231 ----
和出口RLWRAP_EDITOR
export RLWRAP_EDITOR="vim +%L"