Я бы сделал это так:
Поместите эту функцию в ваш vimrc:
function Test() range
echo system('echo '.shellescape(join(getline(a:firstline, a:lastline), "\n")).'| pbcopy')
endfunction
Это позволит вам вызвать эту функцию, выполнив:
:'<,'>call Test()
Затем вы также можете отобразить это так (прямо под объявлением функции в вашем vimrc):
com -range=% -nargs=0 Test :<line1>,<line2>call Test()
Таким образом, вы можете вызвать функцию, выполнив следующее:
:'<,'>Test
Примечание: :<','>
- селекторы диапазонов, для их создания просто выберите соответствующие строки в визуальном режиме и затем перейдите в командный режим (нажатием клавиши двоеточия)