:execute "args ".join(map(getline(1, line('$')), 'fnameescape(v:val)'))<CR>
Объяснение: getline(1, line('$'))
вернет список строк в текущем буфере (от первой (1
) до последней (line('$')
) строки, map(getline(1, line('$')), 'fnameescape(v:val)')
будет экранировать все имена файлов, если они содержат пробелы или другие специальные символы, join(...)
присоединится к результирующему списку, вставив пробел между каждыми двумя элементами списка, затем он будет передан команде args
с помощью execute
.