代码之家  ›  专栏  ›  技术社区  ›  graywolf

如何在没有终端的情况下启动gvim?

vim c
  •  0
  • graywolf  · 技术社区  · 5 年前

    我试着用这句话开始gvim:

    execl("/usr/bin/gvim", "-f", path, (char *)NULL);
    

    Vim: Warning: Output is not to a terminal
    Vim: Warning: Input is not from a terminal
    

    我不知道怎么解决这个问题。我的意思是,我知道输出不是终端,所以我用 gvim 而不仅仅是 vim . 这可能是很明显的事情,但我就是不知道。

    0 回复  |  直到 5 年前
        1
  •  5
  •   Chromz    5 年前

    如果忘记将程序名作为exec的第一个参数,gvim将尝试以终端模式打开。

    应该是:

    execl("/usr/bin/gvim", "/usr/bin/gvim",
          "-f", path, (char *)NULL);
    

    execl

    按照惯例,第一个参数应该指向文件名 与正在执行的文件关联 . 参数列表必须是 此指针必须为强制转换(char*)NULL。