Vim shell

From wikinotes

You can interact with the commandline from vim's command mode.

Piping to Commandline

:w !sh       " execute the current file using /bin/sh
:w !less     " pipe entire file to less
:'<,'>!less  " pipe visual-selection to less

" pipe register '@+' to xclip executable's stdin
system('xclip', @+)

" pipe register '@+' to xclip (preserving NULLs if binary data)
let formatted = getreg('+', 0, 1) + (getregtype('+') isnot# 'v' ? [''] : [])
call system('some_command', formatted)