运行sbt命令使删除键表现得很奇怪

时间:2018-02-14 12:05:26

标签: scala sbt

  • macOS 10.13.3
  • SDKMAN 5.6.1 + 290
  • scala 2.14.4
  • sbt 1.1.1
  • iTerm2 Build 3.1.5
  • zsh 5.3(x86_64-apple-darwin17.0)

不知何故,当开始sbt时,'删除'键不能用作删除键。该键使光标继续(而不是返回)而不删除任何字符。

iTerm2 showing delete key behavior

我尝试了以下方法,但情况仍然存在。

  • 重新安装sdkman
  • 重新安装了scala,sbt
  • 删除了.zcompdump *
  • 创建了新项目
  • 删除.ivy2文件夹并重新下载所有scala依赖项
  • 使用bash而不是zsh

当我在另一台机器上尝试时,它没有重现。所以我可以假设这是由于某些配置或软件包是问题制作Mac独有的。但我不知道该寻找什么。

有任何想法或建议吗?

P.S。 似乎箭头键不能正常工作。左右键不做任何事情。上下键可以完成人们所期望的事情。

sbt:stream-quickstart-root>asd

然后,键入up键一次,

sbt:stream-quickstart-root>asd   console

它看起来像是在历史记录中显示先前键入​​的命令,但并不完全。向下键进入空白区域(大约五个空格,但不确定,因为左箭头不能返回)。

1 个答案:

答案 0 :(得分:1)

删除键的情况听起来像是您与我们内部使用的JLine2交互不良。对于它的价值,我个人将iTerm2与macOS结合使用,并且对我有用。

  1. 您设置了TERM吗?我认为它来自“首选项”>“配置文件”>“终端”>“报告终端”类型。我的是xterm-256color
  2. 您是否配置了~/.inputrc?我没有文件,但是我认为JLine2在找到文件时会进行键绑定。

作为解决方法,您可以尝试以下操作:

$ sbt -Djline.terminal=unix

$ sbt -Djline.terminal=false