Поскольку vim.command
может выполнять большинство (если не все?) Ex-команд, вы можете просто вызвать :new +read!ls
из него.
:new
разбивает текущее окно и помещает новое (пустое,без имени) буфер в верхнее окно.Он принимает аргумент +[cmd]
, который мы используем для выполнения read!cmd
, который считывает стандартный вывод cmd после взрыва в буфер.Имейте в виду, что вам нужно экранировать пробелы в вашей команде с помощью \
В целом вы получаете vim.command("new +read!cmd")
:python vim.command("new +read!ls")
для чтения содержимого текущего каталога в новыйбуфер в cichew, горизонтально разделенном окне.
Если вы хотите обрабатывать экранирование специальных символов, рассмотрите использование re.escape () python:
:py import re;vim.command("new +read!"+re.escape("ls Dire*"))
, что должно быть достаточно в большинстве случаев,Если сомневаетесь, проверьте его документацию и сравните с документом вашей оболочки.