В ответе Ingos, который мне очень помог, я не вижу, как ссылаться на подшаблон соответствия и использовать его в качестве аргумента для команды оболочки ("созданной консольной командой с выражением в качестве аргумента").
В моем случае у меня были строки журнала следующей формы: [<unix timestamp>] <message>
, т.е. [1406844000] foobar
. Я хотел добавить их со временем в удобочитаемой форме.
Следующая команда vim сопоставляет метку времени (подматрица 1) и сообщение (остальное, подспарень 2) и добавляет строку времени из команды date:
:% s/^\[\(\d\+\)\] \(.*\)$/\=substitute(system('date -d @'.submatch(1)),'\n', '', 'g').': ['.submatch(1).'] '.submatch(2)/
[1406844000] foobar
получает Fr 1. Aug 00:00:00 CEST 2014: [1406844000] foobar
.
НТН