使用编辑器vi或vim在scala REPL模式下创建一个scala脚本文件对我来说不起作用

时间:2017-07-28 19:49:56

标签: scala

我使用的Scala版本是Scala 2.12.2(Java HotSpot(TM)64位服务器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脚本文件并执行它。可能有什么不对?是否需要为此启用任何设置?

1 个答案:

答案 0 :(得分:0)

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

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

$ 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