从C系统命令打开vim



我对c一窍不通。

我见过system()fork()execv()的东西,但我不认为他们是我需要的(或者他们只是不工作)

我只是想让我的C程序立即打开vim的文件路径进行编辑,然后我可以退出vim,程序继续,在我的情况下,它会退出。

git commit一样,它为我打开vim,然后当我保存退出时,它发送提交。

任何想法?

System(3)可以完成这项工作,但要注意,如果在调用程序时将输入/输出重定向到非终端,这将传播到vim的执行,并且它将不起作用。

vim(3)要求输入和输出都指向一个终端行,它不能在重定向输入上工作,所以调用它的最佳方式应该是(与system()一起):

system("/usr/bin/vim file </dev/tty >/dev/tty");

重定向子句指定将输入和输出重定向到会话控制终端,因此即使您在主程序中重定向了标准输入/输出,也可以使其工作。

system()是我正在寻找的,我使用它不正确,但它很简单,只是使用:

system("vim path/to/file.txt");

将打开当前目录的vim并按预期工作(如git commit)

相关内容

  • 没有找到相关文章

最新更新