Как запустить gvim без терминала? - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь запустить 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. Возможно, это что-то действительно очевидное, но я просто не знаю.

1 Ответ

5 голосов
/ 15 апреля 2019

Если вы забыли указать имя программы в качестве первого параметра exec, gvim попытается открыть его в режиме терминала.

Оно должно быть:

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

Из execl man-страница:

Первый аргумент, по соглашению, должен указывать на имя файла, связанное с исполняемым файлом .Список аргументов должен заканчиваться указателем NULL, и, поскольку это функции с переменным числом, этот указатель должен быть приведен (char *) NULL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...