我正在尝试将 bash 命令的输出重定向到新文件中。
如果我尝试如下管道:
ls -la | vim
Bash 显示错误:
Vim: Error reading input, exiting...
Vim: preserving files...
Vim: Finished.
我知道我可以打开 Vim 然后使用:
:r !ls -la
但是有没有办法在 bash 本身中做到这一点,以便打开 Vim 并自动将输出粘贴到那里?
答案1
答案2
你自己就很接近了。只是缺少一个角色。
ls -la | vim -
答案3
这是另一种方法,希望能教会人们一些新东西。
如果您知道该命令:r !ls -la
在 vim 中有效,则可以执行以下操作来打开 vim 并使其在打开后立即运行该命令,直接从 bash:
vim -c ':r! ls -la'
这相当于打开vim
然后执行命令:r! ls -la
。这适用于任何vim
命令,其中命令位于-c
选项之后。
答案4
我想添加一个选项
ls -al | view -
view
是 vim 的只读版本(相当于vim -R
)