gpt4 book ai didi

scala - 是否可以通过 Scala REPL shell 命令打开交互式 vim 进程?

转载 作者:行者123 更新时间:2023-12-04 16:16:25 25 4
gpt4 key购买 nike

我正在探索使用 Scala REPL 桥接 shell。它主要通过 import sys.process._ 包实现,我可以使用 "ls"! 来执行 shell.
现在,我想用 "vi"! 来打开一个交互式的 vi 编辑器,这真的很疯狂但很令人兴奋。在REPL中输入cmd后,终端会打开一个init vi canvas。不幸的是,终端没有从我的键盘读取任何输入。

是否可以在 REPL 中打开 vi?

最佳答案

来自 https://stackoverflow.com/a/29972867/1573825 (Java 解决方案):

import java.lang.{Process, ProcessBuilder}

System.out.println("STARTING VI");
val processBuilder = new ProcessBuilder("/usr/bin/vi")
processBuilder.redirectOutput(ProcessBuilder.Redirect.INHERIT)
processBuilder.redirectError(ProcessBuilder.Redirect.INHERIT)
processBuilder.redirectInput(ProcessBuilder.Redirect.INHERIT)

val p = processBuilder.start()
// wait for termination.
p.waitFor()
System.out.println("Exiting VI")

它甚至不会破坏 readline。

关于scala - 是否可以通过 Scala REPL shell 命令打开交互式 vim 进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44896739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com