-1

我使用的 Scala 版本是 Scala 2.12.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_121),而目前的 Jline Library 是 2.14.3 。

这可能听起来很愚蠢,但我试图在 Scala REPL 模式期间尝试使用编辑器 cmd 行 vi 或 vim 创建一个 scala 文件时出现问题,它的抛出错误。以下是我的错误.. 如果我想使用任何特定的 Scala 终端控制台,或者我做错了什么,请告诉我?

scala> vi test1.scala
<console>:1: error: ';' expected but '.' found.
vi test1.scala

在没有 SCALA REPL 模式的情况下,我也可以在我的系统中执行 VI 和 VIM,但是当我在 REPL 中时,我无法创建 scala 脚本文件并执行它。有什么问题?是否需要为此启用任何设置?

4

1 回答 1

1

要保存您的 REPL 历史记录,请使用:save file.

对使用外部编辑器的支持有限。编辑结果立即运行。重置后,只有已编辑的行在会话历史记录中,因此 save 将仅保存这些行。

$ EDITOR=gedit scala
Welcome to Scala 2.12.3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_111).
Type in expressions for evaluation. Or try :help.

scala> val x = 42
x: Int = 42

scala> println(x)
42

scala> :edit -2
+val x = 17
+println(x)
17
x: Int = 17

scala> :hi 3
1896  val x = 17
1897  println(x)
1898  :hi 3

scala> :reset
Resetting interpreter state.
Forgetting this session history:

val x = 42
println(x)
val x = 17
println(x)


Forgetting all expression results and named terms: $intp, x

scala> :ed 1896+2
+val x = 5
+println(x)
5
x: Int = 5

scala> :save sc.sc

scala> :load sc.sc
Loading sc.sc...
x: Int = 5
5
于 2017-07-29T04:25:21.087 回答