运行 Rust 中的命令 (vim)
Running commands in rust (vim)
std::process::Command::new("/usr/bin/sh")
.arg("-c")
.arg("vim")
.arg("file")
.spawn()
.expect("Error: Failed to run editor");
当我运行这段代码时,一个vim过程是运行,正在编辑文件,虽然它没有在终端打开(不知道确切的术语)如何可以 I/is 可以在终端
中实际打开 vim
当我 运行 你的代码时,vim
确实在终端中打开,但我的 shell 也在同一个终端中 运行ning,并且两者都 vim 和 shell 争夺显示,他们都收到我键入的任何密钥。如果这也是您遇到的问题,您需要在子进程上 wait:
std::process::Command::new("/usr/bin/sh")
.arg("-c")
.arg("vim")
.arg("file")
.spawn()
.expect("Error: Failed to run editor")
.wait()
.expect("Error: Editor returned a non-zero status");
std::process::Command::new("/usr/bin/sh")
.arg("-c")
.arg("vim")
.arg("file")
.spawn()
.expect("Error: Failed to run editor");
当我运行这段代码时,一个vim过程是运行,正在编辑文件,虽然它没有在终端打开(不知道确切的术语)如何可以 I/is 可以在终端
中实际打开 vim当我 运行 你的代码时,vim
确实在终端中打开,但我的 shell 也在同一个终端中 运行ning,并且两者都 vim 和 shell 争夺显示,他们都收到我键入的任何密钥。如果这也是您遇到的问题,您需要在子进程上 wait:
std::process::Command::new("/usr/bin/sh")
.arg("-c")
.arg("vim")
.arg("file")
.spawn()
.expect("Error: Failed to run editor")
.wait()
.expect("Error: Editor returned a non-zero status");