sbt损坏终端显示

5
这对我来说是个难题;我正在使用Scala的sbt,操作系统是Mac OS 10.11.6。每次运行sbt runsbt test等命令时(例如在本文末尾包括的一个小型Hello World项目中),我会失去看到键盘敲击的能力,而我的标准提示符还在那里。虽然击键仍被识别,如我可以输入ls,回车后仍能看到输出,但我看不到我键入的ls
更令人困惑的是,如果我运行sbt并进入交互模式,我可以看到我的击键!同样,在Scala REPL和IPython会话中,我也可以看到我的击键。然而,在标准的python解释器中,我无法看到我的击键!
这似乎与我的$PS1无关,因为我可以解除设置PS1,问题仍然存在。它似乎也不会出现在其他项目中。
目录结构是标准的sbt结构,在src/main/scala/Hello.scala中。
object Hello extends App {                                                         
    val p = Person("Foo")                                              
    println("Hello from " + p.name)                                                
}                                                                                  

case class Person(var name: String) 

我想知道当我从.pdf文件中复制/粘贴到vim时,是否可能会隐藏一些奇怪的字符?否则,这是怎么回事?


这是可能的,但只要在任何可以显示不可见字符的编辑器中打开您的文件即可轻松检查。 - pvg
我这里也遇到了同样的问题。 - marios
尝试更新操作系统。 - Teddy Dong
1个回答

2

来自sbt gitter频道的Eric K Richardson:

This is fixed now and should be in 1.0.2 - https://github.com/sbt/sbt/pull/3507/commits/b6a3ca19373c2ffa17c5660fa74a9a4204948b6e
You can type stty echo to restore window or use - https://github.com/paulp/sbt-extras

太棒了,谢谢!使用 stty echo 是一个简单的即时修复方法。 - chriswhite
2
另外,如果未来的读者由于任何原因无法升级,则将 ssbt() { sbt "$@"; stty echo } 放入您的 ~/.bashrc 中可以避免每次都要输入它。 - chriswhite

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接