« Back to Index

Some basic examples of executing external commands within Vim’s COMMAND-LINE mode

View original Gist on GitHub

ext.vim

" run command
" no stdin
" output displayed in "Press enter to continue" style
" current buffer untouched
:!uptime

" run command
" pipe range of text to command on stdin
" output replaces the range in the current buffer
:RANGE!grep foo

" run command
" no stdin
" append output beneath the current line in the buffer
:r!uptime

" run command
" no stdin
" append output beneath the last line in the range
:RANGEr!uptime

" run command
" pipe whole buffer to command on stdin
" output displayed in "Press enter to continue" style
" current buffer untouched
" (the space between w and ! is important)
:w !pbcopy

" run command
" pipe range to command on stdin
" output displayed in "Press enter to continue" style
" current buffer untouched
" (the space between w and ! is important)
:RANGEw !pbcopy

lol.markdown

command stdin stdout
:! none press enter to continue
:RANGE! range replace range
:r! none append below curent line
:RANGEr! range append below last line in range
:w ! whole file press enter to continue
:RANGEw ! range press enter to continue