2
我試圖從Java命令行程序運行交互式編輯器。作爲一個例子,這是在Python的等效代碼:無法從Java/Scala控制檯應用程序打開工作VIM編輯器
import subprocess; subprocess.call(["vim", "/tmp/hello"])
而且它開闢了一個vim編輯器和控制權返回給Python程序,當你完成編輯。
的「等價」的Java程序:
public class Main{
public static void main(String[] args) throws java.io.IOException{
new java.lang.ProcessBuilder()
.command("vim", "/tmp/hello2")
.inheritIO()
.start();
}
}
不能正常打開VIM和葉我的終端,我需要繼續之前調用reset
一個時髦的狀態。
的「等價」的Scala程序
object Main{
def main(args: Array[String]): Unit = {
import sys.process._
Seq("vim", "/tmp/hello2").!<
}
}
成功打開了VIM,但鍵盤導航borked,按下方向鍵的結果輸入像
^[OD^[OA^[OC^[OB
被輸入到文本區而不是移動我的光標。
有什麼方法可以在Java/Scala中複製正確的Python行爲?