Вы можете передать текст в vim, используя стандартный ввод (например, echo 'Hello, world!' | vim -
), но я не уверен, как передать отредактированные результаты в стандартный вывод. Итак, первая часть решения в lua будет:
local vim = io.popen('vim -', 'w')
vim:write('Hello, world!')
Возможно, вы сможете достичь желаемых результатов, используя файл с отображенной памятью ?