Java 如何使用jLine实现干净屏幕和配置键绑定

Java 如何使用jLine实现干净屏幕和配置键绑定,java,command-line-interface,jline,Java,Command Line Interface,Jline,我想用jline开发一个java cli。我从Internet上获得了不同的jline版本,但我不知道它们之间的区别 我的操作系统是WindowsXPSP2 在Jline09.9和Jline1.0中,它也不支持干净的屏幕。如何配置keybind以支持干净屏幕 源代码WindowsTerminal.java /** * Windows doesn't support ANSI codes by default; disable them. */ public boolean isANSISu

我想用jline开发一个java cli。我从Internet上获得了不同的jline版本,但我不知道它们之间的区别

我的操作系统是WindowsXPSP2

在Jline09.9和Jline1.0中,它也不支持干净的屏幕。如何配置keybind以支持干净屏幕

源代码WindowsTerminal.java

 /**
 * Windows doesn't support ANSI codes by default; disable them.
 */
public boolean isANSISupported() {
    return false;
}
在jLine0.9.9和Jline1.0中,清洁屏幕不起作用。。

在Jline2.x中,它支持干净的屏幕,但当我使用数组键UP/DOWN/LEFT/RIGHT、INSERT、DELETE和END时,控制台会出现乱码

键入数组键或DELETE、HOME、INSERT键时,Jline 2.6和Jline2.9中的错误代码和奇怪字符

我不知道如何通过keybinds.properties在Jline1.x和Jline2.x中配置keybind。 以及如何配置keybinds.properties?如何使用它


您能提供一些建议或示例吗?

您安装了AnsiConsole吗?这是呈现“胡言乱语”转义码所必需的

AnsiConsole.systemInstall();

应该为您做这件事。

可能有点离题,只是与版本控制有关。但是对于我使用的库,我倾向于使用可用的最新版本,这样我就不会再被noone使用/维护的版本中的一些潜在错误所困扰。因此,我坚持使用2.9(正如maven回购搜索所揭示的:)。那么问题是这个库是否能够实现您所期望的功能,或者是否存在其他支持它的替代方案。谢谢您的重播,Peter。你能给我一些关于配置keybinding的例子吗?好的,在这里它通常是另一种方式,你应该向我们展示你做了什么,并描述你面对的问题。在某种程度上,您提供了问题,但是您没有共享代码,因此,也许现在正是使用您的代码snipletsa更新您的问题的时候。此外,使用阅读器,您应该能够获取您的终端并在其上运行clearScreen()。