2015-10-28 41 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