Запустите 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", это тоже не сработало.