2015-10-28 37 views
3

我来自Python背景,刚开始使用scala。斯卡拉ctrl c不离开REPL

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

但是在Scala REPL中,当我输入ctrl c时,我会立即退出Scala REP,这对我来说很烦人。

有没有办法让REPL像python shell一样工作?

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

+1

只是通过添加一些无意义的字符来使你的陈述非法,它不会被执行 – Ashalynd

回答

2

我不认为按Ctrl +ç甚至使用Python REPL放弃错误输入命令以正确的方式,有几个快捷方式将可能使您的生活更轻松here

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

擦除整行。

基本上按Ctrl +ü删除光标,它应该完全抛弃现有的行,如果你打字的事情之前。
如果光标在中间,你可以使用Ctrl键+Ë先去结束,然后按Ctrl +ü

我在shell,Python REPL和Scala REPL中测试过,它们都工作正常。 对于那些好奇的人们:

  • 按Ctrl +一个去年初,
  • 按Ctrl +ķ将删除光标之后的文本。
+0

Ctrl + U做的伎俩!它适用于python和scala。 – xuanyue

+0

@jinxuanWu当然,如果您认为这很有帮助,您能否将答案标记为可接受的解决方案,以便将来的读者更容易找到答案? –

2

您可以尝试李浩一Ammonite-REPL。在许多其他改进中,它确实捕获了Ctrl + C