我的.inputrc文件将编辑模式配置为'vi'。在最近的sbt版本中(从13.10开始),我的交互式命令行默认为vi的命令模式而不是插入模式,所以每次点击返回时我都必须输入'i'或'a'才能输入命令。 13.10之前的版本执行更典型的默认为插入模式的操作,比如bash。
这是一个错误吗?有解决方法吗?
答案 0 :(得分:2)
已修复 - 我的.inputrc中有另一行'set keymap vi'导致问题。我不知道为什么或当我把它放在那里,但我把它删除了,事情又恢复了正常。
答案 1 :(得分:1)
sbt
使用jline,因此会受到~/.inputrc
配置的影响。 jline是在GNU读取线上建模的,因此,set keymap vi
应该指示jline为begin in command mode。 (它不是一个错误,更多关于这一点。)如果你想保留keymap声明,并且你想要插入行为,请使用set keymap vi-insert
。
关于bugginess,sbt 0.13.9使用jline 2.11而sbt 0.13.10使用jline 2.13。该范围内有136 commits,我们在其中找到this change:
宾果。 vi
键映射将更改为移动模式从插入模式。