交互式shell中的退格行为

问题描述 投票:2回答:2

我正在尝试使用Scala交互式shell,但退格键的行为很奇怪。我发现退格似乎删除了前一个字符,但它没有在我正在输入的行上显示那种方式...光标向前移动而不是向后移动。这使得无法看到当前输入线的外观。

我正在使用Scala 2.11.12。我正在Linux系统上的终端窗口中工作,但是从Windows 10笔记本电脑进入Linux主机的xrdp。退格键在Scala之外(在zsh中)工作正常。

作为一种解决方法,是否有任何控制字符告诉Scala重新显示当前行? (旧操作系统用于支持执行该功能的字符,如果内存可用,但在几十年左右的时间内它们不是必需的。)

scala
2个回答
2
投票

我也遇到了同样的问题,并通过更改pyenv的设置进行了改进。

如果pyenv的全局设置不是系统,请尝试更改为系统。

例:

$ pyenv versions
* system (set by /Users/*****/.pyenv/version)
  2.7.10
  3.5.0
  anaconda3-5.2.0

2
投票

也许这是JLine的一个错误,scala用它作为readline的替代品。但是,如果我清空文件夹~/.pyenv/shims,scala工作正常。然后我执行pyenv rehash(它将带回shims下的文件),scala失败了!

然后我将~/.pyenv/shims中的文件删除一半,这是一个名为infocmp的文件。它不是内容,但重要的exec权限,即chmod a-x ~/.pyenv/shims/infocmp将使scala工作正常,但chmod a+x ~/.pyenv/shims/infocmp,即使infocmp是空的,问题也会发生!

可能我接近事实,但现在我们可以使用chmod a-x ~/.pyenv/shims/infocmp来解决问题。它只需要运行一次,因为如果文件已存在,pyenv rehash将不会覆盖该文件。

© www.soinside.com 2019 - 2024. All rights reserved.