0

我需要我的 Java 控制台应用程序来执行以下操作:

  1. 打开 VIM
  2. <用户输入多行单词和:wq >
  3. 然后我的应用程序应该能够获取 vim 输入并在终端中打印它。

到目前为止,我被困在 1.. 似乎不可能让 Java 打开 VIM!

这是我一直在摆弄的一些非功能性代码:

呼叫系统文本编辑器

http://www.linglom.com/2007/06/06/how-to-run-command-line-or-execute-external-application-from-java

非常感谢的建议

编辑

好的,所以以下将打开 VIM 但背景。有什么办法吗?

String[] command = {"/usr/bin/vim", "test.txt"};
Process vimProcess = Runtime.getRuntime().exec(command);
vimProcess.waitFor();
4

1 回答 1

0
  1. 从 java 运行 vim(请注意,这将适用于 gnome,如果您使用 KDE,请使用“konsole”):

    Process pr = Runtime.getRuntime().exec("gnome-terminal -e 'vim /tmp/tmpfile'");

  2. 等待用户完成并退出:

    int exitVal = pr.waitFor(); //check for the right exitVal

  3. 读取输入并写入终端:

    System.out.println(FileUtils.raedFileToString(new File("/tmp/tmpfile")));

于 2012-07-19T11:08:35.047 回答