我正在Windows 7上使用Cygwin和最新的Lein,但是在repl中,按上下键会移动我到控制台而不是显示历史记录(这是我期望的)。我已经在Google搜索了一下,发现这与使用jline而不是readline有关(不知道这是什么意思),但我不知道如何利用这些信息来解决我的问题。
我修改了lein启动脚本,调用stty并设置jline.terminal,看起来可以工作:
stty -icanon min 1 -echo
$LEIN_JAVA_CMD \
-client -XX:+TieredCompilation \
-Djline.terminal=jline.UnixTerminal \
$LEIN_JVM_OPTS \
-Dfile.encoding=UTF-8 \
-Dmaven.wagon.http.ssl.easy=false \
-Dleiningen.original.pwd="$ORIGINAL_PWD" \
-Dleiningen.trampoline-file="$TRAMPOLINE_FILE" \
-cp "$CLASSPATH" \
clojure.main -m leiningen.core.main "$@"
EXIT_CODE=$?
stty icanon echo
我修改了lein脚本中的那个部分,现在up = history。
rlwrap
。这将为任何交互式命令行应用程序提供Readline功能(例如,命令历史记录搜索和导航)。如果你使用bash已经有一段时间了,你就会知道这些功能是什么。rlwrap lein repl
sqlplus
很长时间了,以至于人们忘记了 sqlplus 并没有本地提供这个功能。 - Burhan Alilein repl
中使用 ctrl+c 退出时,都会留下一个 java.exe 进程。你有遇到同样的问题吗? - Daniel Kaplan