Запустите vim, используя NSTask

Я пишу консольную программу. Я хочу запустить vim из этой программы, дождаться выхода пользователя и продолжить выполнение.

  let editorTask = NSTask()
  editorTask.currentDirectoryPath = "/Users/vbezhenar/Documents"
  editorTask.launchPath = "/usr/bin/vim"
  editorTask.arguments = ["/Users/vbezhenar/Documents/file"]
  editorTask.launch()
  editorTask.waitUntilExit()

Я запускаю эту программу из терминала. Я вижу запуск vim с ps aux|grep vim в другом терминале, но я не вижу никакого пользовательского интерфейса vim. Консоль просто зависает, пока я не нажму "Ctrl+C".

Это похоже на проблему с stdout или stdin, но в документации четко указано, что по умолчанию эти файловые дескрипторы наследуются от процесса запуска, поэтому проблем быть не должно. Я не изменяю окружающую среду, поэтому она должна наследовать тоже.

Я попытался запустить "/bin/sh", это тоже не сработало.

0 ответов

Другие вопросы по тегам