2015-08-04 4 views
1

У меня есть приложение PyQt, где оно порождает окно XTerm в виджетах. Окно XTerm запускается с -e vim <file>, который сразу же запускает Vim отображение файла для редактирования и т.д.Xterm, Vim, PyQt

Когда я ударил :ж! в Vim, я хотел бы как-то поймать это событие и повторить его обратно в XTerm и/или в конечном итоге вернуться к PyQt, чтобы я мог модифицировать другой элемент интерфейса.

Я знаю, как использовать Vim autocmd поймать :ж! (BufWritePost) и выполнить сценарий оболочки и т. Д.

... но я думаю, мне нужно, чтобы Vim эхо назад, либо с простым текстом ASCII, либо через СИГНАЛ, обратно в окно XTerm и, надеюсь, назад к QProcess.

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

ответ

0

Ваш сценарий должен будет учитывать, что XTerm не будет выполнять эхо-сигналы (текст, эхо или распечатанный в терминале, переходит на экран терминала). Ваш скрипт должен будет либо сделать vim echo что-то в файл, либо запустить vim (в xterm) из вспомогательного скрипта, который передаст информацию обратно в файл.

Обычно это делается путем выделения временного файла в родительском процессе (ваше приложение PyQt) и передачи его имени дочернему процессу.

 Смежные вопросы

  • Нет связанных вопросов^_^