How do I redirect command output to vim in bash?
You can use process substitution (this also works with applications that can't read from STDIN
):
vim <(ls -la)
Or use vim
's function to read from STDIN
:
ls -la | vim -
You're really close on your own. You were just missing one character.
ls -la | vim -
Here's another approach, hopefully to teach someone something new.
If you know that the command :r !ls -la
works inside vim, you can do the following to open vim and make it run the command as soon as it opens, straight from bash:
vim -c ':r! ls -la'
This is the equivalent of opening vim
then executing the command :r! ls -la
. This should work with any vim
command, where the command comes after the -c
option.