Java在前台打开一个vi编辑器

标签 java linux editor vi

我正在尝试在 Linux 环境中使用 Java 代码打开一个 vi 编辑器(Java 代码是通过 shell 脚本执行的)。编辑器应在前台打开并成为 Activity 终端,而 java 应在后台运行。

我尝试使用这两个命令:-

  1. String []command = {"xterm", "vi", "/home/user/test.txt"}; Process pr = Runtime.getRuntime().exec(command);

  2. Process p = new ProcessBuilder("vi", "/home/user/test35.txt").start();

在上述代码之一中,如果检查 ps -ef | grep vi,我能够处理,但它在后台运行。我想在前台作为 Activity 终端运行它,因为用户在编辑器中输入文本。而 java 将在后台运行。 任何建议或片段。

我已经提到了这个Open VIM with Java application , 但仍然是徒劳的。

最佳答案

如果您想创建一个新的 xterm 在该终端中执行命令,您需要使用 -e 传递命令。试试这个:

ProcessBuilder pb = new ProcessBuilder("xterm", "-e", "vi", "/home/user/test.txt");

关于Java在前台打开一个vi编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44320649/

相关文章:

java - 将字符串转换为日期并格式化日期

与 Windows 相比,Linux 上的代码速度较慢

emacs - GNU Emacs : skeleton-mode, 还在使用吗?

java - 捕获MySQL的信息字符串输出-用Java编码时加载数据INFILE

java - 解读 Java 中面向对象的编程概念

java - 给定一个格式化的日期时间范围,分割并打印该范围之外的每个小时

linux - rsync 守护进程行为异常

linux - 生成网页的图像(例如 jpg)?

java - 如何在 netbeans 编辑器中获取当前行号

editor - 使用 'Block Body' 时,Visual Studio 可以使用 'Generate Method' ,但还是更喜欢 'Expression Body' 吗? (VS2019)