Scala ctrl c不会离开REPL

xua*_*yue 5 python shell scala

我来自Python背景,刚开始使用scala。

在python shell中,当我键入命令并在其中键入错误时,我通常使用ctrl c生成键盘Interrupt异常,以便我可以直接键入下一条语句。前面的语句将不会执行,而我仍然在Python shell中。

但是在Scala REPL中,当我输入ctrl c时,我将立即退出Scala REP,这让我很烦。

无论如何,有没有可以使REPL像python shell一样工作?

我正在使用的Scala版本是2.11.7。我正在使用Mac。

B.M*_*.W. 3

我认为Ctrl+C甚至不是使用 Python REPL 放弃输入错误的命令的正确方法,有几个快捷方式可能会让您的生活更轻松

Ctrl+U应该是您正在寻找的命令。

擦除整行。

基本上Ctrl+U会删除光标之前的所有内容,如果您正在键入,则应完全放弃现有行。
如果光标位于中间,则可以使用Ctrl+E先转到末尾,然后再使用Ctrl+ U

我在 shell、Python REPL 和 Scala REPL 中进行了测试,它们都可以工作。对于好奇的人:

  • Ctrl+A将转到开头,
  • Ctrl+K将删除光标后的文本。