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 |
Created
December 15, 2014 18:58
-
-
Save sjl/b9e3d9f821e57c9f96b3 to your computer and use it in GitHub Desktop.
ways to run external commands in vim
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment