Выполнение команды в другом существующем терминале может быть выполнено, но это далеко не тривиально.
Во-первых, у вас открыто более одного эмулятора терминала. Эти эмуляторы терминала работают под управлением оболочки, вероятно, bash
если вы работаете в Linux. С помощью команды ps
вы можете найти идентификаторы процессов (PID) всех оболочек, работающих на вашем компьютере. Большой вопрос сейчас таков; кому отправить команду?
Вы ищете оболочку, которая принадлежит терминалу, на котором вы хотите показать команду. Выполнение команды echo $$
на соответствующем терминале должно вернуть PID оболочки, работающей на этом терминале.
Используя файловую систему /proc
вы можете определить стандартный ввод оболочки /proc/<PID>/fd/0
, который является pty
устройством.
Далее вы хотите отправить команду на этот терминал. Это должно быть сделано с помощью команды TIOCSTI
ioctl
на оболочке pty. Вы можете найти исходный код C для этого здесь. Скомпилируйте эту программу, например, как ttyecho
и поместите ее в каталог в вашем $ PATH.
Теперь все готово , и вы можете вызвать команду ttyecho
с именем pty оболочки и командой python <filename>
.
Выполнение всего этого в vimscript оставлено читателю в качестве упражнения. :-)