How can I pipe the output of a shell command into a new buffer in Vim? The following obviously wouldn't work, but you can see what I'm getting at:
:!echo % | :newtab
|
|
|
You can't pipe the output of a shell command into a command that creates a new buffer, but you can create a new buffer and read the output of a shell command into that buffer with one entry on Vim's command line. A working version of your example would be
Note that the pipe symbol in this case is a separator between Vim ex commands, not the shell's pipe. See also
|
|||||||||||||
|
|
If you really require to store the result in a new buffer, but require info from the old current buffer, then you can either use
or store the current buffer name for later:
|
|||||
|
|
Here's what I do. It's alluded to in comments in the above answers.
Example 1: Find all text files in
Example 2: You're editing file foo.txt and you want to run
The
|
||||
|
|