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 |