Skip to content

Instantly share code, notes, and snippets.

@sjl
Created December 15, 2014 18:58
Show Gist options
  • Save sjl/b9e3d9f821e57c9f96b3 to your computer and use it in GitHub Desktop.
Save sjl/b9e3d9f821e57c9f96b3 to your computer and use it in GitHub Desktop.
ways to run external commands in 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
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment