Это связано с этим вопросом: Как перенаправить вывод команды ex в текущий буфер или файл?
Однако проблема с использованием : redir
заключается в том, что это вызывает 3 или 4 дополнительных символа новой строки перед выводом, и они появляются будет сложно удалить с помощью функции замены.
Например, если я сделаю следующее:
:redir @a
:pwd
:redir END
Содержимое @a
состоит из трех пустых строк и обычного ожидаемого вывода.
Я пытался отправить процесс примерно так:
:let @b = substitute(@a, '\s*\(.\{-}\)\s*', '\1', '')
Но в результате @b
имеет то же содержимое, что и @a
.
Кто-нибудь знает более эффективный (т.е. рабочий) способ постобработки или замену : redir
, в которой нет этих лишних строк?